Witam!
Napisałem sobie przykładową tablicę trójwymiarową:
$produkt = array ( array(array('SAM_OPO', 'Opony', 100),
array('SAM_OLE', 'Olej', 10),
array('SAM_SWI', 'Świece zapłonowe', 4)
),
array(array('VAN_OPO', 'Opony', 120),
array('VAN_OLE', 'Olej', 12),
array('VAN_SWI', 'Świece zapłonowe', 5)
),
array(array('CIE_OPO', 'Opony', 150),
array('CIE_OLE', 'Olej', 15),
array('CIE_SWI', 'Świece zapłonowe', 6)
)
);
I chciałbym tą tablicę posortować powiedzmy wg. pola 1 tzn. Opis W książce był kod do sortowania tablic (a właściwie funkcja, jednak jestem na etapie tablic), i nie mogę go za nic zrozumieć. Funkcja ta wygląda tak:
[codefunction porownaj($x, $y) { if ($x[1] == $y[1]) return 0; elseif ($x[1] < $y[1]) return -1; else return 1; }
I teraz chcę to posortowane wyświetlić w tabeli więc :
echo '
| Kod | Opis | Cena |
| ‘. $produkt[$warstwa][$kolumna][0] .’ | ‘. $produkt[$warstwa][$kolumna][1] .’ | ‘. $produkt[$warstwa][$kolumna][2] .’ |
';[/code] Ale jednak nic się nie zmienia, a ja nawet tego kodu nie mogę zrozumieć. Wiem tyle :
[code]<?phpfunction porownaj($x, $y) { if ($x[1] == $y[1]) //porównuje $x i $y czy są sobie równe (po co są te zmienne i co one oznaczają? return 0; // zwraca wartość funkcji, ale co to 0 oznacza, false? elseif ($x[1] < $y[1]) / jeżeli if nie jest spełniona sprawdza ten warunek return -1;//znów zwraca wartość funkcji? ale co oznacza -1? else //jeżeli żaden z powyższych warunków nie zostanie spełniony zwraca 1 -true? return 1;}?>
Pozdrowiena
Edit:
Działa na tablicach 2-wymiarowych, a jak zrobić żeby ruszyło na 3-wymiarowych? i jak ta funkcja działa oczywiście bo dalej nie wiem