Verwendung der Usort -Funktion in PHP

Verwendung der Usort -Funktion in PHP
In PHP gibt es viele integrierte Funktionen, um die Array-Variablen zu sortieren. Usort () -Funktion ist eine von ihnen. Diese Funktion sortiert das Array mit einer benutzerdefinierten Rückruffunktion. Wenn das Array eine bestimmte Art von Daten enthält, die mithilfe anderer Sortierfunktionen nicht sortiert werden können, ist usort () besser zu verwenden. Wenn das Array beispielsweise Datenwerte enthält, kann die Sorte nicht angemessen mit anderen Sortierfunktionen von PHP sortiert werden. Diese Art der Sammlung kann sortiert werden, indem die geeignete benutzerdefinierte Funktion definiert wird, die im zweiten Argument der Funktion usort () so genannt wird, wie usort () die in diesem Tutorial gezeigten spezifischen Array-Werte sortieren kann.

Syntax:

Die Syntax der Usort () -Funktion ist unten angegeben.

Boolean Usort (Array $ Array, Callback ())

Diese Funktion hat zwei Argumente. Beide Argumente sind obligatorisch. Das erste Argument nimmt das Array, das sortiert wird. Die Funktion Callback () vergleicht die Werte des Arrays, um das Array zu sortieren, und gibt einen numerischen Wert zurück. Wenn die Argumente der Funktion callback () gleich sind, gibt die Funktion 0 zurück. Wenn das erste Argument der Funktion callback () größer ist als das zweite Argument, wird 1 zurückgegeben. Wenn das erste Argument der Funktion callback () kleiner als das zweite Argument ist, gibt es -1 zurück. usort () function gibt für erfolgreiche sort. Einige Verwendungen dieser Funktion haben im nächsten Teil dieses Tutorials gezeigt.

Beispiel 1: Sortieren Sie ein Array von Datumswerten

Das folgende Beispiel zeigt, wie ein Array von Datumswerten mithilfe der Funktion usort () ordnungsgemäß sortiert werden kann. Erstellen Sie eine PHP -Datei mit dem folgenden Skript. $ date_array ist mit fünf-daten-Werten definiert. sort_date () Die Funktion wird als Rückruffunktion deklariert, um die zu sortieren $ date_array. Die Array -Werte werden gedruckt, bevor die Funktion usort () aufgerufen wird. Wenn die Funktion usort () mit dem Array und der Rückruffunktion aufgerufen wird, wandelt sie zwei Datumswerte mit der Funktion Strtotime () in Zeitstempelwerte um. Wenn die beiden Zeitstempelwerte gleich sind, gibt die Funktion 0 zurück. Wenn der erste Zeitstempelwert größer als der zweite Zeitstempelwert ist, gibt die Funktion 1 zurück. Wenn der erste Zeitstempelwert niedriger als der zweite Zeitstempelwert ist, gibt die Funktion -1 zurück. Die Funktion usort () ruft die Rückruffunktion mehrmals auf, bis die $ date_array ist richtig sortiert. Als nächstes wird das sortierte Array mithilfe von Drucken gedruckt das für jeden Schleife.

// Definieren Sie die Rückruffunktion
Funktion sort_date ($ a, $ b)
return strtotime ($ a) - strtotime ($ b);

// deklarieren Sie die Array der Datumswerte
$ date_array = array ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Drucken Sie die Array -Werte vor dem Sortieren
Echo "

Die Werte des Datumsarrays:

";
foreach ($ date_array als $ value)

echo $ value."
";

// Sortieren Sie das Array mit Usort ()
usort ($ date_array, "sort_date");
// Drucken Sie das Array nach der Sortierung
Echo "

Die Ausgabe nach dem Sortieren des Datumsarrays:

";
foreach ($ date_array als $ value)

echo $ value."
";

?>

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wird.

Beispiel-2: Sortieren Sie ein assoziatives Array

Das folgende Beispiel zeigt, wie ein assoziatives Array mit der Funktion usort () sortiert werden kann. Erstellen Sie eine PHP -Datei mit dem folgenden Skript. sort_names () Die Funktion wird als Rückruffunktion deklariert, um das Array basierend auf den Array -Werten zu sortieren. Der ternäre Operator wird in der verwendet sort_names () Funktion zum Vergleich der Werte des assoziativen Arrays. Wenn die beiden Werte gleich sind, gibt die Rückruffunktion 0 zurück. Wenn der erste Argumentwert größer als der zweite Argumentwert ist, gibt die Rückruffunktion 1 zurück. Wenn der erste Argumentwert kleiner als der zweite Argumentwert ist, gibt die Rückruffunktion -1 zurück. usort () sortiert das Array mithilfe der Rückruffunktion, und das sortierte Array wird mithilfe von Verwendung gedruckt das für jeden Schleife.

// Definieren Sie die Funktion, um das assoziative Array zu sortieren
Funktion sort_names ($ a, $ b)
Return $ a == $ b ? 0: $ a> $ b ? 1: -1;

// Definieren Sie das assoziative Array
$ persons = array ("1001" => "meera ali", "1002" => "Kabir Hossain", "1003" => "Nurjahan akter");
// Sortieren Sie das Array
usort ($ persons, "sort_names");
// Drucken Sie das sortierte Array
Echo "Die Werte des sortierten Arrays:
";
foreach ($ persons als $ person)
Echo $ person. "
";
?>

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wird.

Beispiel-3: Sortieren Sie ein zweidimensionales Array

Das folgende Beispiel zeigt, wie ein zweidimensionales Array mit der Funktion usort () sortiert werden kann. Erstellen Sie eine PHP -Datei mit dem folgenden Skript. sort_array () Die Funktion wird als Rückruffunktion deklariert, um das Array basierend auf den Array -Werten zu sortieren. Die Funktion von Strcmp () wird in der Rückruffunktion verwendet, um die Werte des Arrays zu vergleichen. Wenn die beiden Werte gleich sind, gibt die Funktion von Strcmp () 0 zurück. Wenn der erste Argumentwert größer als der zweite Argumentwert ist, gibt die Funktion STRCMP () 1 zurück 1. Wenn der erste Argumentwert kleiner als der zweite Argumentwert ist, gibt die Funktion STRCMP () -1 -1 zurück. usort () sortiert das Array mit der Rückruffunktion, und die Struktur des sortierten Arrays wird mit dem gedruckt print_r () Funktion.

// Funktion definieren, um das zweidimensionale Array zu sortieren
Funktion sort_array ($ a, $ b)

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

// das zweidimentale Array deklarieren
$ tiere = Array (Array ("a" => "Lion"), Array ("a" => "Hirsch"), Array ("a" => "Kaninchen"), Array ("a" => "Monkey "));
// Sortieren Sie das Array
usort ($ tiere, "sort_array");
// Drucken Sie das sortierte Array
Echo "Die Array -Werte nach Usort ():
";
print_r ($ tiere);
Echo "
";
?>

Ausgang:

Die folgende Ausgabe wird angezeigt, nachdem das Skript vom Server ausgeführt wird.

Abschluss:

usort () ist eine nützliche Funktion zum Sortieren bestimmter Datenarten, die die normalen Sortierfunktionen von PHP nicht korrekt sortieren können. Die Rückruffunktion der Usort () -Funktion wird basierend auf den Arten von Werten definiert, die zur Sortierung erforderlich sind. Dieses Tutorial hilft den Lesern, zu wissen, wie sie die Funktion usort () verwenden und sie basierend auf der Anforderung in ihrem Skript anwenden können.