Pereiti prie turinio

PHP įvairių skaičių rykiavimas


Rekomenduojami pranešimai

Sveiki.

Susidūriau su problema. Viename faile yra turinys:

Vardas1|5
Vardas2|10
Vardas3|3
Vardas4|7
Vardas5|4
Vardas6|6

man reikia surikiuoti nuo didžiausio iki mažiausio. Rezultatą gaunu:

7
6
5
4
3
10

Naudoju

rsort

, kuris kaip matau rūšiuoja skaičius tik pagal pirmąjį narį. Kaip ištaisyt šitą problemėlę?

Redagavo tomas215
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Deja, tačiau tau rūšiuoja jei neklystu viską. Nuo pat pirmos raidės, bet jei jos sutampa ima kitą ir t.t. kol nesutampa. Pas tave yra vardas1, vardas2 ir t.t., tai būtent pagal šitą skaičių rūšiuoja :) Į kitur ir neturi kreipti dėmesio :)

 

ps. Kalbu apie tavo naudojamą f-ciją :)

Redagavo ModestasV
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Deja, tačiau tau rūšiuoja jei neklystu viską. Nuo pat pirmos raidės, bet jei jos sutampa ima kitą ir t.t. kol nesutampa. Pas tave yra vardas1, vardas2 ir t.t., tai būtent pagal šitą skaičių rūšiuoja :) Į kitur ir neturi kreipti dėmesio :)

 

ps. Kalbu apie tavo naudojamą f-ciją :)

Failo turinys:

Fluxus|5
Afro|10
Tatakiuk|3
melynake2|7
pikaciu_|4
masha|6

 

o išveda:

melynake2	7 
masha	6
Fluxus	5
pikaciu_	4
Tatakiuk	3
Afro	10 

Redagavo tomas215
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Siūlau:

Visą failą konvertuoti į array, tada paleisti šitą funkciją:

http://php.net/manua...nction.sort.php

 

Ir nepamiršk:

WarningBe careful when sorting arrays with mixed types values because sort() can produce unpredictable results.

 

 

Taip nutinka netik su šita f-ciją :)

 

 

Redagavo ModestasV
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Siūlau:

Visą failą konvertuoti į array, tada paleisti šitą funkciją:

http://php.net/manua...nction.sort.php

 

Ir nepamiršk:

Warning Be careful when sorting arrays with mixed types values because sort() can produce unpredictable results.

 

 

Taip nutinka netik su šita f-ciją :)

 

 

 

O kaip is array atskirsiu skaicius nuo raidziu?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

<?php
$input = file('sort.txt');
$array = array();

for($i=0; $i < count($input); $i++){
$pieces = explode('|', $input[$i]);
$array[(int)trim($pieces[1])] = $pieces[0];
}

$new_array = $array;
ksort($new_array);

print_r($input);
print_r($array);
print_r($new_array);
?>

 

 

Array

(

[0] => Fluxus|5

 

[1] => Afro|10

 

[2] => Tatakiuk|3

 

[3] => melynake2|7

 

[4] => pikaciu_|4

 

[5] => masha|6

)

Array

(

[5] => Fluxus

[10] => Afro

[3] => Tatakiuk

[7] => melynake2

[4] => pikaciu_

[6] => masha

)

Array

(

[3] => Tatakiuk

[4] => pikaciu_

[5] => Fluxus

[6] => masha

[7] => melynake2

[10] => Afro

)

 

Galima dar su array_map ir anonimenimis funkcijomis suzaisti, kad keciau butu.

 

beje, numesk melinakes kontaktus.

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

<?php
$input = file('sort.txt');
$array = array();

for($i=0; $i < count($input); $i++){
$pieces = explode('|', $input[$i]);
$array[(int)trim($pieces[1])] = $pieces[0];
}

$new_array = $array;
ksort($new_array);

print_r($input);
print_r($array);
print_r($new_array);
?>

 

 

 

 

Galima dar su array_map ir anonimenimis funkcijomis suzaisti, kad keciau butu.

 

beje, numesk melinakes kontaktus.

Kam tau jos kontaktai :D?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...