Funzione array_multisort() di PHP
Esempio
Restituire un array ordinato in ordine crescente:
<?php $a=array("Dog","Cat","Horse","Bear","Zebra"); array_multisort($a); print_r($a); ?>
Definizione e utilizzo
La funzione array_multisort() restituisce un array ordinato. Puoi inserire un array o più array. La funzione ordina prima il primo array, poi gli altri array, e se due o più valori sono uguali, ordina il successivo array.
Commento:I nomi delle chiavi di stringa saranno conservati, ma i nomi delle chiavi numeriche saranno riindicizzati, iniziando da 0 e aumentando di 1.
Commento:Puoi impostare l'ordine di ordinamento e il tipo di ordinamento dopo ogni array. Se non impostati, ogni parametro dell'array utilizzerà il valore predefinito.
Sintassi
array_multisort(array1,sorting order,sorting type,array2,array3...)
Parametro | Descrizione |
---|---|
array1 | Obbligatorio. Specificare l'array. |
sorting order |
Opzionale. Specificare l'ordine di ordinamento. Valori possibili:
|
sorting type |
Opzionale. Specificare il tipo di ordinamento. Valori possibili:
|
array2 | Opzionale. Specificare l'array. |
array3 | Opzionale. Specificare l'array. |
Descrizione
La funzione array_multisort() ordinava più array o array multidimensionali.
L'array nel parametro viene considerato come una colonna di una tabella e viene ordinato per riga - questo è simile alla funzione ORDER BY di SQL. L'array principale da ordinare è il primo array. Se le righe (valori) dell'array sono identiche, viene ordinato secondo la dimensione delle corrispondenti valori dell'array successivo, e così via.
Il primo parametro è un array, ogni parametro successivo può essere un array o uno dei seguenti segni di ordinamento (i segni di ordinamento sono utilizzati per modificare l'ordine di default di ordinamento):
- SORT_ASC - Predefinito, ordina in ordine crescente. (A-Z)
- SORT_DESC - Ordina in ordine decrescente. (Z-A)
Successivamente è possibile specificare il tipo di ordinamento:
- SORT_REGULAR - Predefinito. Ordina ogni elemento in ordine regolare.
- SORT_NUMERIC - Ordina ogni elemento in ordine numerico.
- SORT_STRING - Ordina ogni elemento in ordine alfabetico.
Dettagli tecnici
Valore di ritorno: | Restituisce TRUE se ha successo, FALSE se fallisce. |
Versione PHP: | 4+ |
Log delle aggiornamenti: |
I tipi di ordinamento SORT_NATURAL e SORT_FLAG_CASE sono stati aggiunti in PHP 5.4. Il tipo di ordinamento SORT_LOCALE_STRING è stato aggiunto in PHP 5.3. |
Più esempi
Esempio 1
Restituire un array ordinato in ordine crescente:
<?php $a1=array("Dog","Cat"); $a2=array("Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ?>
Esempio 2
Come ordinare quando due valori sono uguali:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ?>
Esempio 3
Utilizzare i parametri di ordinamento:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,SORT_ASC,$a2,SORT_DESC);; print_r($a1); print_r($a2); ?>
Esempio 4
Unire due array e ordinare in ordine decrescente numerico:
<?php $a1=array(1,30,15,7,25); $a2=array(4,30,20,41,66); $num=array_merge($a1,$a2); array_multisort($num,SORT_DESC,SORT_NUMERIC);; print_r($num); ?>