Ordinare un array multidimensionale per le chiavi del sottoarray
Se un array ha al suo interno una serie di altri array, tutti uguali, con gli stessi sottoelementi e si vuole ordinare questo primo array secondo ordine degli elementi del sottoarray viene comoda la funzione array_multisort
che permette di ordinare un array secondo l'ordine di un secondo array.
In pratica:
Partendo dalla lista faccio un primo ciclo per trovare lo score
che è la differenza tra positive - negative
. È il parametro per cui voglio ordinare in prima istanza: per chi ha più score
, poi voglio ordinare per chi ha più positive
e infine per chi ha meno negative
.
Faccio quindi un secondo ciclo per avere una lista di ogni punteggio: $score
; $positive
; $negative
. Questi nuovi array, dotati delle stesse chiavi di $list
saranno i parametri di ordinamento di $list
stesso attraverso la funzione array_multisort
che prende poi come ultimo parametro l'array da ordinare secondo quei parametri.
Last updated
Was this helpful?