Quando chiami
usort in PHP devi passare il vettore da ordinare e una funzione che rappresenta il criterio in base a cui ordinare.
Per esempio, mettiamo tu voglia ordinare per marca:
Codice PHP:
function confronta_marche($telecomando_a, $telecomando_b) {
return strcmp($telecomando_a['marca'], $telecomando_b['marca']);
}
...
usort($telecomandi, 'confronta_marche');
Occhio ad un paio di dettagli importanti:
usort non crea una copia del vettore ordinato, ma modifica l'ordine di quello che gli passi; per passare una funzione in PHP come argomento usi il suo nome sotto forma di stringa, è una stranezza di PHP.
Le funzioni che definisci devo restituire un valore minore di zero quando il primo argomento "viene prima" del secondo, maggiore di zero quando il primo "viene dopo" il secondo e 0 quando è indifferente.