Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sortowanie tablicy
Forum PHP.pl > Forum > Przedszkole
cornholio666
Witam,

znalazłem kilka tematów na forum o sortowaniu tablic wielowymiarowych ale nie potrafie sobie z tym poradzić, a mianowicie jak posortować taka tablice:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => 2
  6. [producent] => B
  7. [nazwa] => B1
  8. [czas_umowy] => 5
  9. [wyliczenia] => Array
  10. (
  11. [koszty_stale] => 37.8
  12. [koszty_zmienne] => 64
  13. [sred_mies] => 133
  14. [sred_rok] => 1596
  15. [wynik_konczowy] => 106.8
  16. )
  17.  
  18. )
  19.  
  20. [1] => Array
  21. (
  22. [id] => 1
  23. [producent] => A
  24. [nazwa] => A1
  25. [czas_umowy] => 4
  26. [wyliczenia] => Array
  27. (
  28. [koszty_stale] => 280.75
  29. [koszty_zmienne] => 64
  30. [sred_mies] => 45
  31. [sred_rok] => 540
  32. [wynik_konczowy] => 280.75
  33. )
  34.  
  35. )
  36.  
  37. )


według

  1. [wynik_konczowy]


próbowałęm z usort i z array_multisort ale efektów nei widać

Jak wskazać żeby sortowanie odbywało się po tym polu ?
nevt
zakładam (być może błędnie), że dane w tych tablicach pochodzą z bazy danych...
i to jest najlepsze miejsce, gdzie należy je odpowiednio posortować...
cornholio666
Wartość w polu które mnie interesuje nie jest wyliczana w bazie i jest zbyt złożone (dla mnie) żeby to policzyć na poziomie zapytania SQL.
Pewnie dałoby się za pomocą PL/SQL ale go nie umiem a czas goni winksmiley.jpg

Pytanie dalej aktualne smile.gif
nevt
no to może tak?
  1. <?php
  2. $src = array(...); // twoja tabela z danymi
  3. $tmp = array();
  4. $res = array();
  5. foreach($array as $i => $val)
  6. $tmp[$i] = $val['wyliczenia']['wynik_konczowy']; // dlaczego nie 'wynik_koncowy' questionmark.gif
  7. asort($tmp);
  8. foreach($tmp as $i => $val)
  9. $result[] = $src[$i];
  10. ?>

i w $result masz to co potrzebujesz...
cornholio666
działa smile.gif

Cytat
dlaczego nie 'wynik_koncowy'


literówka winksmiley.jpg
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.