Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Array_multisort, Jak to posortować?
MateuszS
post 12.06.2010, 12:39:08
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Witam, mam problem z posortowaniem tablicy wielowymiarowej. Z racji dość nietypowego rozmieszczenia argumentów ciężko mi zrozumieć zasadę działania tej funkcji i nie bardzo mi wychodzi. Myślę na przykładzie lepiej bym zrozumiał. Chcę posortować np. taką tablicę wg "silnik". Chcę aby tablica była posortowana wg pojemności rosnąco

  1. $auto = array(
  2. "fiat" => array(
  3. "silnik" => 2000,
  4. "typ" => "TDI"
  5. ),
  6. "volvo" => array(
  7. "silnik" => 1500,
  8. "typ" => "LPG"
  9. ),
  10. "bmw" => array(
  11. "silnik" => 2500,
  12. "typ" => "TDI"
  13. )
  14. );


czyli najpierw musi być VOLVO, potem FIAT i na końcu BMW

PS ale chcialbym móc też elastycznie zmieniać wg czego chcę sortować, bo np mogę chcieć sortować po markach czy typie silnika i tu poległem

Ten post edytował MateuszS 12.06.2010, 12:44:00


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bastard13
post 12.06.2010, 13:46:13
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Jeżeli $auto nie jest tablicą asocjacyjną to skorzystaj z funkcji usort() zamiast uksort(). I zamiast stringa do zmiennej $var w funkcji cmp() wpisz wartośc odpowiedniego wiersza, po którym ma być sortowana tablica np. $var=3, gdy po pojemności silnika.

Ten post edytował bastard13 12.06.2010, 13:46:51


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:17