Potiže s sort() - PHP
Sort mi bohužel dělá potíže - řadí takto:
1
10
2
20
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
Jak jse to řěší a není nějaká jiná rozumnější funkce na řazení? díky!
Sort mi bohužel dělá potíže - řadí takto:
1
10
2
20
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
Jak jse to řěší a není nějaká jiná rozumnější funkce na řazení? díky!
Zpět do poradny Odpovědět na původní otázku Nahoru
A co řadíš? Stringy, integery, pole?
Viz výše, sortuje to dobře, chyba je na straně programátora, mít čísla jako stringy je prasárna.
Jedná se o galerii obrázky se tak seřadí tak jsem to svedl na sort
zapoměl jsem napsal - je to jako pole (array)
ukládej ty čísla jako čísla, ne jako řetězce, tj ne $array = array('18','5') ale array(18,5)
Ono se to ukládá jako $obrazek = array($soubor) - počet fotek je proměnlivý podle toho kolik jich je ve složce...
Omlovám se to je blbě takhle to je : $soubor= Array();
Udělej var_dump těsně před tím sortem, ať vidíme, co tam je.
... tohle z toho vypadlo.
tak ted už vůbec nevím co s tím
A prosimta co triedis? Nazvy suborov ci co?
P.S> u nazvov suborov je to triedenie spravne. Nazvy suborob nie su cisla. 10 je pred 2 lebo 1<2. Pismeno f bude za 10 lebo f>1. Nazvy suborov mozu byt aj pismena, nemozes to triedit ako cisla. Alebo mi povedz ze ci nazov kdsaasdlijwleo.jpg je vacsi alebo mensi ako 10.jpg ked to chces triedit ako cisla
Dá se to teda nějak utřídit na:
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
???
Áno, dá. Viď funkcia natsort.
Ked budes mat
A.jpg
AB.jpg
AladarGejza.jpg
B.jpg
BC.jpg
tak ty ich chces mat zotriedene takto?
A.jpg
B.jpg
AB.jpg
BC.jpg
AladarGejza.jpg
Bohovske triedenie. To je to co pozadujes (nahrad si pismena A,B,C cislicami 1,2,3). Nazvy suborov nie su cisla ale text.
P.S. samozrejme mozes pouzit natural sort ako uz pisal los.
Inac vseobecne vid php manual, mas tam flag pre numericke triedenie (ak mas len cisla)
function.sort.php