Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie asocjacyjnej tablicy wielowymiarowej
Forum PHP.pl > Forum > PHP
Mayka
Potrzebuje posortować tablice która wygląda tak:
Array{
[0]=Array{
[id]=2
[cena]=2,33
[nazwa]="piekarnik"
}
[1]=Array{
[id]=4
[cena]=75,33
[nazwa]="zmywarka"
}
[2]=Array{
[id]=2
[cena]=23,33
[nazwa]="lodówka"
}
}
Po wartości "cena" ktoś mógłby mi pomóc to zrobić ? Bo nie mogę sobie poradzić z tym kombinowałem z czymś takim ale to chyba jest zle coś bo nie działa ;P

function so ($a, $b) { return (strcmp ($a['cena'],$b['cena'])); }
uasort($tablica, 'so');
no_face
Wykorzystaj w tym przypadku funkcje array_multisort, ktora nadaje sie do tego wysmienicie:

Wykorzystaj foreach do stworzenia tablicy z cenami i podstaw. Wycinek z manuala:

  1. // Obtain a list of columns
  2. foreach ($data as $key => $row) {
  3. $volume[$key] = $row['volume'];
  4. $edition[$key] = $row['edition'];
  5. }
  6.  
  7. // Sort the data with volume descending, edition ascending
  8. // Add $data as the last parameter, to sort by the common key
  9. array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
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.