![]() |
![]() ![]() |
![]() |
-senobicus- |
![]()
Post
#1
|
Goście ![]() |
witam,
napisalem sobie prostacki skrypcik do mojej galeryjki... chce dodac do niego mozliwosc pewnego sortowania plikow. tak wyglada przykladowy array $images: Array ( [0] => 03_IMG_0201.jpg [1] => 03_dupa.jpg [2] => 02_najnowszy.jpg [3] => 02_aaaaaa.jpg [4] => 02_sdfsdfdsf.jpg [5] => 02_IMG_0213.jpg [6] => 02_IMG_0212.jpg [7] => 02_IMG_0210.jpg [8] => 02_IMG_0209.jpg [9] => 02_IMG_0206.jpg [10] => 02_IMG_0205.jpg [11] => 02_nowyb.jpg [12] => 02_test2.jpg [13] => 02_test.jpg [14] => 01_IMG_0233.jpg [15] => 01_baldachim.jpg [16] => 01_nowya.jpg [17] => 01_krasnoludek.jpg [18] => 01_blachy.jpg ) chcialbym to posortowac w taki sposob zeby zachowac z powyzszego arraya kolejnosc ciagow ktore zaczynaja sie ta sama cyfra, np. 02_ ale tak zeby same ciagi byly w normalnej kolejnosci czyli 01_, 02_, 03_ itd. czyli w tym przypadku zeby wyszlo cos takiego $images: Array ( [0] => 01_IMG_0233.jpg [1] => 01_baldachim.jpg [2] => 01_nowya.jpg [3] => 01_krasnoludek.jpg [4] => 01_blachy.jpg [5] => 02_najnowszy.jpg [6] => 02_aaaaaa.jpg [7] => 02_sdfsdfdsf.jpg [8] => 02_IMG_0213.jpg [9] => 02_IMG_0212.jpg [10] => 02_IMG_0210.jpg [11] => 02_IMG_0209.jpg [12] => 02_IMG_0206.jpg [13] => 02_IMG_0205.jpg [14] => 02_nowyb.jpg [15] => 02_test2.jpg [16] => 02_test.jpg [17] => 03_IMG_0201.jpg [18] => 03_dupa.jpg ) pewnie to banalnie proste, ale ja nie znam sie na programowaniu i php zbyt dobrze (jestem tylko grafikiem) i chcialbym prosic zeby ktos napisal te pare linijek petelki za mnie, bo ja sie mecze z tym juz tydzien i mi sie nie udaje ![]() czy ktos moglby mi pomoc, bede bardzo wdzieczny. pozdrawiam krzysiek |
|
|
-senobicus- |
![]()
Post
#2
|
Goście ![]() |
ew. jezeli ktos moglby mi napisac jak sprawdzic dane potrzebne do wykorzystania funkcji array_slice, czyli od jakiego momentu zaczyna sie jeden ciag np. 02_ i ile ma miejsc? bo to by mi chyba umozliwilo napisanie petelki samemu.
z gory dziekuje. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 13.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
zwykłe SORT sobie z tym radzi ....
-------------------- Zdrowy rozsądek to rzecz, której każdy potrzebuje, mało, kto posiada, a nikt nie wie, że mu brakuje.
Czasami myślę, iż Bóg tworząc człowieka przecenił nieco swoje zdolności. |
|
|
-senobicus- |
![]()
Post
#4
|
Goście ![]() |
otorz, nie radzi sobie niestety.
bo uklada to alfabetycznie... a niestety nie tak ma byc. porownaj wynik swojego kodu z tym, ktory chce osiagnac. jest inny. ma zachowac uklad wewnatrz ciagow. taki jest warunek. moze z tym wyciaganiem slice'a ktos pomoze chociaz? bardzo bym prosil. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Ten twój wynik jest dość niezrozumiały. Raz masz nazwe z *_IMG* na początku, raz na końcu... I jak tu coś rozumieć. Zgadzam się z piratem, że samo sort() starczy.
-------------------- |
|
|
-senobicus- |
![]()
Post
#6
|
Goście ![]() |
nie, no wlasnie raz na poczatku raz koncu... i wlasnie ten specyficzny, dziwnie posortowany uklad chce utrzymac. jest to specyficzny uklad, ktory jest mi potrzebny, wlasnie taki, zaden inny. wiec sort() NIE wystarczy niestety.
bo przy sort() '02_najnowszy.jpg' bedzie po '02_aaaaaa.jpg', a przy rsort() '02_sdfsdfdsf.jpg' bedzie przed '02_aaaaaa.jpg' itp. itd. a poniewaz nijak sie nie da utrzymac tego specyficznego sortowania zadna funkcja php z rodziny sort()... musze odczytac to sortowanie i potem je poukladac blokami. no i sie pytam jak to zrobic? recznie takie sortowanie wyglada jak ponizej, ale poniewaz elementy beda rozne i rozna bedzie ilosc w poszczegolnych blokach, i blokow bedzie rozna ilosc, potrzebuje zrobic cos podobnego ale w petli: Kod $images03 = array_slice($images, 0, 2); $images02 = array_slice($images, 2, 12); $images01 = array_slice($images, 14, 5); $images = array_merge($images01, $images02, $images03); to moze moze jednak z tym array_slice() mi pomorzecie? dzieki jeszcze raz i sorry ze tak mecze. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 13.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
to może usort() albo uasort()
![]() a jak nie to, wiecej kombinowania niz to warte ;] -------------------- Zdrowy rozsądek to rzecz, której każdy potrzebuje, mało, kto posiada, a nikt nie wie, że mu brakuje.
Czasami myślę, iż Bóg tworząc człowieka przecenił nieco swoje zdolności. |
|
|
-senobicus- |
![]()
Post
#8
|
Goście ![]() |
czytasz czasem ze zrozumieniem pirat? napisalem ze nic z rodziny 'sort()' nie dziala. a kombinowania jest 10 linijek. ale co tam. powodzenia programisci ;P
mi sie udalo. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
No to podziel się z nami kodem, może komuś innemu się takie coś przyda. A i nie potępiaj odrazu funkcji u*sort(), bo chyba nie wiesz w jaki sposób sortują tablice...
-------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 13.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam ze chcialem pomoc, to juz sie nie powtorzy.
Przepraszam ze nie zrozumialem co wogole chcesz osiagnac, ale nie jestem chyba jedyny. Przepraszam ze sam rozwiazales ten problem ![]() ps. jak wszystkie metody zawiodą poczytaj instrukcje www.php.net pss. jak chcesz raz sortowac w ta strone a raz w tą zależnie od indeksu(prefixu), dalej sie upieram ze usortem, da sie to zrealziowac, jesi chodzi CI o cos innego.... to napisz to jaśniej, albo lepiej nie.... psss. jak porozbijasz to na mniejsze tablice wzgledem prefixow, ktora tu masz, to chyba bedzie latwiej cokolwiek zrobic pozdrawiam -------------------- Zdrowy rozsądek to rzecz, której każdy potrzebuje, mało, kto posiada, a nikt nie wie, że mu brakuje.
Czasami myślę, iż Bóg tworząc człowieka przecenił nieco swoje zdolności. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:52 |