Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] sortowanie tablicy wielowymiarowej przez asocjacyjną
Forum PHP.pl > Forum > Przedszkole
czaro123
Witam,
błądze we mgle i stąd moję pytanie. kod poniżej:
  1. $ccc = array(array("zor",1,2,3,4,5,6,7,8,9,10,11,12), array("roz",5,2,4,4,5,6,7,8,9,10,11,12), array("ozr",9,2,9,4,5,6,7,8,9,10,11,12));
  2.  
  3. $sortowanie = array('a','k','e','h','b','l','f','i','c','m','g','j','d');
  4.  
  5. foreach ($ccc as $war){
  6. $aaa[] = usort($ccc[$war], $sortowanie);
  7. }
  8. echo '<pre>';
  9. print_r($aaa);
  10. echo '</pre>';


chciałbym posortować każdą z "pod-tablic" w $ccc wg schematu z $sortowanie tzn posortować $sortowanie wg alfabetu i wg tego samego "schematu" posortować "pod-tablice" w $ccc. niestety powyższy kod wyświetla iż używam Illegal offset type. nie wiem jak poprawić ten kod aby otrzymać prawidłowy kod. wartości w $ccc są przykładowe. ilość "pod-tablic" w $ccc nie jest znana, wiadomo że ilość argumentów w każdej "pod-tablicy" jest zawsze 13. ważne: nie interesują mnie klucze w nowopowstałej $aaa tzn powinny one już po sortowaniu wynosić 0,1,2 itd. z góry dziękuję za pomoc.
owca_82
  1. foreach ($ccc as $war){
  2.  
  3. sort($war, SORT_NATURAL);
  4. $aaa[] = $war;
  5.  
  6.  
  7. }
  8.  
czaro123
dzięki, ale nie o to chodziło smile.gif. chciałbym posortować "pod-tablice" w $aaa wg "schematu" jaki uzyskam sortując $sortowanie wg alfabetu. czyli powinno być:
  1. $ccc = array(array('zor',4,8,12,2,6,10,3,7,11,1,5,9), array('roz',4,8,12,2,6,10,4,7,11,5,5,9), array('ozr',4,8,12,2,6,10,9,7,11,9,5,9));

jeśli ktoś ma pomysł jak to zrobić to prośba o podzielenie się tą wiedzą.

odświeżam temat. dodam tylko, iż tablica $sortowanie jest tablicą pomocniczą, została dodana aby wskazać schemat (sortowanie alfabetyczne) wg którego ma być posortowana tablica $ccc
vermis
Drugi parametr usort() to nazwa funkcji porównującej a nie tablica.
http://pl1.php.net/usort

Musisz sam napisać funkcję która stwierdzi, który element powinien być wyżej. Oczywiście w tej funkcji bazujesz na tablicy $sortowanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.