Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Niestandardowe sortowanie
kornel-php
post
Post #1





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

Ostrzeżenie: (0%)
-----


Witam! Otóż mój problem wygląda tak:

Mam katalog, w którym są inne katalogi z plikami, wygląda to tak:

katalog 'a' zawiera pliki: a.pdf, g.pdf i j.pdf
katalog 'b' zawiera pliki: c.pdf, u.pdf, z.pdf
katalog 'c' zawiera pliki: b.pdf, d.pdf, e.pdf

Teraz wrzucam wszystko do tablicy i sortuje funkcją sort, to otrzymuję:

Kod
a/a.pdf
a/g.pdf
a/j.pdf
b/c.pdf
b/u.pdf
b/z.pdf
c/b.pdf
c/d.pdf
c/e.pdf


A chciałbym otrzymać to posortowane w następujący sposób:

Kod
a/a.pdf
c/b.pdf
b/c.pdf
c/d.pdf
c/e.pdf
...


Jest taka możliwość, jeśli tak to prosiłbym o pomoc, z góry dziękuję!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qqrq
post
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Jeśli olewasz katalogi, to można to zrobić "a 'la kornel-php":

  1. <?php
  2. function porownaj($a, $b) { return strcmp(substr($a,strrpos($a,'/')+1), substr($b,strrpos($b,'/')+1)); }
  3. $arr = array();
  4. $arr[] = 'a/a.pdf';
  5. $arr[] = 'a/g.pdf';
  6. $arr[] = 'a/j.pdf';
  7. $arr[] = 'b/c.pdf';
  8. $arr[] = 'b/u.pdf';
  9. $arr[] = 'b/z.pdf';
  10. $arr[] = 'c/b.pdf';
  11. $arr[] = 'c/d.pdf';
  12. $arr[] = 'c/e.pdf';
  13.  
  14. usort($arr, 'porownaj');
  15. ?>


Powinno działać...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:56