php

Uso della funzione usort() in PHP

Uso della funzione usort() in PHP
Esistono molte funzioni integrate in PHP per ordinare le variabili dell'array. La funzione usort() è una di queste. Questa funzione ordina l'array utilizzando una funzione di callback definita dall'utente. Quando l'array contiene un particolare tipo di dati che non può essere ordinato in modo standard utilizzando altre funzioni di ordinamento, è meglio usare usort(). Ad esempio, se l'array contiene valori di dati, la varietà non può essere ordinata in modo appropriato utilizzando altre funzioni di ordinamento di PHP. Questo tipo di raccolta puòessere ordinato definendo la corretta funzione definita dall'utente chiamata nel secondo argomento della funzione usort() come la funzione usort() puòordinare i valori di array specifici mostrati in questo tutorial.

Sintassi:

La sintassi della funzione usort() è riportata di seguito.

usort booleano (array $array, callback())

Questa funzione ha due argomenti. Entrambi gli argomenti sono obbligatori. Il primo argomento prende l'array che verrà ordinato. La funzione callback() confronta i valori dell'array per ordinare l'array e restituisce un valore numerico. Se gli argomenti della funzione callback() sono uguali, la funzione restituirà 0. Se il primo argomento della funzione callback() è maggiore del secondo argomento, restituirà 1. Se il primo argomento della funzione callback() è più piccolo del secondo argomento, restituisce -1. La funzione usort() restituisce true per l'ordinamento riuscito e restituisce false per l'ordinamento non riuscito. Alcuni usi di questa funzione sono mostrati nella parte successiva di questo tutorial.

Esempio 1: ordinare un array di valori di data

L'esempio seguente mostra come un array di valori di data può essere ordinato correttamente usando la funzione usort(). Crea un file PHP con il seguente script. $ data_array è definito con valori a cinque date. sort_date() la funzione è dichiarata come funzione di callback per ordinare il $ data_array. I valori dell'array vengono stampati prima di chiamare la funzione usort(). Quando la funzione usort() viene chiamata con l'array e la funzione di callback, convertirà due valori di data in valori di timestamp utilizzando la funzione strtotime(). Se i due valori di timestamp sono uguali, la funzione restituirà 0. Se il primo valore di timestamp è maggiore del secondo valore di timestamp, la funzione restituirà 1. Se il primo valore di timestamp è inferiore al secondo valore di timestamp, la funzione restituirà -1. La funzione usort() chiamerà la funzione di callback più volte fino a quando il $ data_array è ordinato correttamente. Successivamente, l'array ordinato verrà stampato utilizzando il per ciascuno ciclo continuo.

//Definisci la funzione di callback
funzione sort_date($a, $b)
return strtotime($a) - strtotime($b);

//Dichiara l'array di valori di data
$ array_date = array('25-03-2020', '14-03-2020', '28-02-2015', '09-12-2017', '20-09-2015');
//Stampa i valori dell'array prima di ordinare
eco "

I valori dell'array di date:

";
foreach($array_data come $valore)

echo $valore."
";

//Ordina l'array usando usort()
usort($array_data, "data_ordina");
//Stampa l'array dopo l'ordinamento
eco "

L'output dopo l'ordinamento dell'array di date:

";
foreach($array_data come $valore)

echo $valore."
";

?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Esempio 2: ordinare un array associativo

L'esempio seguente mostra come ordinare un array associativo utilizzando la funzione usort(). Crea un file PHP con il seguente script. sort_names() la funzione è dichiarata una funzione di callback per ordinare l'array in base ai valori dell'array. L'operatore ternario è usato nel sort_names() funzione per confrontare i valori dell'array associativo. Se i due valori sono uguali, la funzione di callback restituirà 0. Se il valore del primo argomento è maggiore del valore del secondo argomento, la funzione di callback restituirà 1. Se il valore del primo argomento è inferiore al valore del secondo argomento, la funzione di callback restituirà -1. usort() ordinerà l'array usando la funzione di callback e l'array ordinato verrà stampato usando il per ciascuno ciclo continuo.

//Definisci la funzione per ordinare l'array associativo
funzione sort_names($a, $b)
restituisce $a == $b ? 0 : $a > $b ? 1 : -1;

//Definisci l'array associativo
$persone = array("1001"=>"Meera Ali", "1002"=>"Kabir Hossain", "1003"=>"Nurjahan Akter");
//Ordina l'array
usort($persone, "sort_names");
//Stampa l'array ordinato
eco "I valori dell'array ordinato:
";
foreach($persone come $persona)
echo $persona. "
";
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Esempio 3: ordinare un array bidimensionale

L'esempio seguente mostra come ordinare un array bidimensionale utilizzando la funzione usort(). Crea un file PHP con il seguente script. sort_array() la funzione è dichiarata una funzione di callback per ordinare l'array in base ai valori dell'array. La funzione strcmp() viene utilizzata nella funzione di callback per confrontare i valori dell'array. Se i due valori sono uguali, la funzione strcmp() restituirà 0. Se il valore del primo argomento è maggiore del valore del secondo argomento, la funzione strcmp() restituirà 1. Se il valore del primo argomento è inferiore al valore del secondo argomento, la funzione strcmp() restituirà -1. usort() ordinerà l'array usando la funzione di callback e la struttura dell'array ordinato verrà stampata usando il tasto print_r() funzione.

//Definisci la funzione per ordinare l'array bidimensionale
funzione sort_array($a, $b)

return strcmp($a['a'], $b['a']);

//Dichiara l'array bidimensionale
$animali = array(array ("a" => "Leone"), array ("a" => "Cervo"), array ("a" => "Coniglio"), array ("a" => "Scimmia "));
//Ordina l'array
usort($animali, "sort_array");
//Stampa l'array ordinato
eco "I valori dell'array dopo usort():
";
print_r($animali);
eco "
";
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Conclusione:

usort() è una funzione utile per ordinare particolari tipi di dati che non possono ordinare correttamente le normali funzioni di ordinamento di PHP. La funzione di callback della funzione usort() è definita in base ai tipi di valori richiesti per ordinare. Questo tutorial aiuterà i lettori a sapere come usare la funzione usort() e ad applicarla nel loro script in base al requisito.

Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...
Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...