zizou666 Posted November 15, 2011 Report Share Posted November 15, 2011 Mam w PHP taką tablicę: $this->table = Array( 'w1'=> 'Kobo', 'Abe', 'Kobieta z Wydm', 'w2'=> 'Sienkiewicz', 'Henryk', 'Potop', 'w3'=> 'Mickiewicz', 'Adam', 'Pan Tadeusz', 'w4'=> 'Fredro', 'Aleksander', 'Zemsta', 'w5'=> 'Mann', 'Tomasz', 'Czarodziejska Góra', 'w6'=> 'Kapuściński', 'Ryszard', 'Cesarz', 'w7'=> 'Davis', 'Norman', 'Boże igrzysko', 'w8'=> 'Melchior', 'Wańkowicz', 'Na tropach smętka', 'w9'=> 'Łysiak', 'Waldemar', 'Francuska ścieżka', 'w10'=> 'Ajar', 'Emil', 'Życie przed sobą', 'w11'=> 'Baker', 'Stephen', 'Jak żyć z neurotycznym kotem' ); I teraz mam pytanie, jak sortować tą tablice po np pierwszych wartościach (nazwiskach). Da się wogóle? Czy muszę stworzyć tablice wielowymiarową? Link to comment Share on other sites More sharing options...
Lord Hrabula Posted November 15, 2011 Report Share Posted November 15, 2011 To w ogóle śmiga? Zawsze myślałem, że tablica asocjacyjna to jest przyporządkowanie klucza do wartości, a w tym wypadku wartości jest wiele. Co Ci w sumie zwraca dla klucza? W klasycznym przypadku sortowanie tablicy asocjacyjnej odbywa się za pomocą funkcji asort() po wartości i ksort() po kluczu. Link to comment Share on other sites More sharing options...
zizou666 Posted November 15, 2011 Author Report Share Posted November 15, 2011 No właśnie śmiga Leci przez wszystkie wartości kiedy wyświetlam foreach'em. Ale masz racje, nie da się określić co jest przypisane do którego klucza. Zrobię chyba tablice wielowymiarową i w każdej dam sobie 3 klucze i 3 wartosci. Link to comment Share on other sites More sharing options...
bartez119 Posted November 16, 2011 Report Share Posted November 16, 2011 Tablica jest źle zdeklarowana. Teraz patrz co się porobiło jak kazałem ją wyświetlić za pomocą print_r: Cytat Array ( [w1] => Kobo [0] => Abe [1] => Kobieta z Wydm [w2] => Sienkiewicz [2] => Henryk [3] => Potop [w3] => Mickiewicz [4] => Adam [5] => Pan Tadeusz [w4] => Fredro [6] => Aleksander [7] => Zemsta [w5] => Mann [8] => Tomasz [9] => Czarodziejska GĂłra [w6] => KapuĹciĹski [10] => Ryszard [11] => Cesarz [w7] => Davis [12] => Norman [13] => BoĹźe igrzysko [w8] => Melchior [14] => WaĹkowicz [15] => Na tropach smÄtka [w9] => Ĺysiak [16] => Waldemar [17] => Francuska ĹcieĹźka [w10] => Ajar [18] => Emil [19] => Ĺťycie przed sobÄ [w11] => Baker [20] => Stephen [21] => Jak ĹźyÄ z neurotycznym kotem ) Indeksy nadane przez ciebie pomieszały się numerycznie, czyli wszystko co oddzieliłeś przecinkiem zostało potraktowane jako kolejny element tablicy. http://edukacyjne.5v.pl/dane.html Co do sortowania: http://php.net/manual/en/function.sort.php http://php.net/manual/en/function.usort.php http://www.php.net/manual/en/function.asort.php A tu masz wszystkie funkcje do użycia na tablicach: http://www.php.net/manual/en/ref.array.php Link to comment Share on other sites More sharing options...
Lord Hrabula Posted November 16, 2011 Report Share Posted November 16, 2011 Coś takiego miałem na myśli, tyle, że mi się sprawdzić nie chcialo , a że forechem działało, to tylko wydawało się, że działa Link to comment Share on other sites More sharing options...
zizou666 Posted November 17, 2011 Author Report Share Posted November 17, 2011 No tak Ale poradziłem sobie. Zrobiłem tablicę wielowymiarową i przypisałem każdemu elementowi moich małych tablic klucze do każdej ze składowych. Później wykorzystałem multisort wcześniej wyciągając kolumny do jednowymiarowych tablic. Identyczny przykład praktycznie jest na stronie z manualem do php przy multisorcie. Temat do zamknięcia. Link to comment Share on other sites More sharing options...