Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sortowanie tablic w dwuwymiarowej tablicy według klucza
Shadowsword
post
Post #1





Grupa: Zarejestrowani
Postów: 149
Pomógł: 5
Dołączył: 9.04.2008
Skąd: W-WA

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


Witam!
Mam taką tablice:
Kod
Array
(
    [plik2.mp3] => Array
        (
            [plik] => plik2.mp3
            [artysta] => Shadowsword
            [tytul] => Fajna piosenka
        )

)
Array
(
    [plik1.mp3] => Array
        (
            [plik] => plik1.mp3
            [artysta] => Shadowsword
            [tytul] => Bardzo fajna piosenka
        )

)

I chciałbym ją posortować alfabetycznie według nazwy pliku, czyli żeby plik1.mp3 był przed plik2.mp3. Niestety, ale
Kod
array_multisort($my_array[plik], SORT_ASC, SORT_REGULAR);

zwraca pierdoły, czyli tablicę która poza tablicą [plik(numer).mp3] => array zwraca jeszcze pustą [plik]=>. Co muszę wpisać między nawiasem w multisort, aby posortowało tablice w odpowiedni sposób?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Maveral
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 8
Dołączył: 30.07.2005

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


Jeśli Twoja tablica wygladała by tak jak w moim przykładzie, to posortowanie tego według nazwy nie było by problemem:

  1. <?php
  2.  
  3. $zm = array();
  4. $zm[plik2.mp3][plik] = "plik2.mp3";
  5. $zm[plik2.mp3][artysta] = "Shadowsword";
  6. $zm[plik2.mp3][tytul] = "Fajna piosenka";
  7. $zm[plik2.mp3][czas] = "3:14";
  8.  
  9. $zm[plik1.mp3][plik] = "plik1.mp3";
  10. $zm[plik1.mp3][artysta] = "Shadowsword";
  11. $zm[plik1.mp3][tytul] = "Bardzo fajna piosenka";
  12. $zm[plik1.mp3][czas] = "5:23";
  13.  
  14. //sortujemy
  15. asort ($zm);
  16.  
  17. //To tylko dla pokazania, że wyrzuca tablice.
  18. foreach ($zm as $v) {
  19.    print_r ($v);
  20.    echo "<BR />";
  21. }
  22.  
  23. //A tutaj wypisujemy posortowane wartości
  24. foreach ($zm as $v1) {
  25.    foreach($v1 as $v2) {
  26.    echo $v2;
  27.    echo " ";
  28.    }
  29.    echo "<BR />";
  30. }
  31.  
  32. ?>


Mam nadzieję, że o to ci chodzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Maveral 7.06.2009, 10:51:09
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: 15.10.2025 - 17:41