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
kornel-php
post
Post #2





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

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


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



A jak wyglądałby ten kod dla plików o ścieżce 'katalog1/kat2/kat3/kat4/kat.../nazwa.pliku'?

Teraz narodził mi się taki własnie problem... :/

Ten post edytował kornel-php 17.09.2007, 21:47:02
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: 20.09.2025 - 15:19