PHP usort()

WBOY
Freigeben: 2024-08-29 13:05:13
Original
989 Leute haben es durchsucht

Diese Funktion wird verwendet, um ein Array in PHP zu sortieren. Wir können unser Array basierend auf unserer Logik und Anforderung sortieren, was bedeutet, dass das definierte Array mit einer benutzerdefinierten Funktion sortiert wird. Außerdem werden alle alten Schlüssel aus dem Array entfernt und jedem Element des Arrays neue Schlüssel zugewiesen. Diese neuen Schlüssel sind eine Ganzzahl, die bei 0 beginnt und der Anzahl der im Array vorhandenen Elemente entspricht.

WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax:

Diese Funktion benötigt zwei Parameter als Eingabe. Wie auch immer, PHP verfügt über viele integrierte Funktionen, die zum Sortieren der Array-Elemente verwendet werden können, aber hier können wir eine benutzerdefinierte Funktion übergeben, um unser Array-Element zu sortieren. Dies ist einer der Pluspunkte dieser Funktion. Lassen Sie uns die Syntax im Detail besprechen. Siehe unten;

z.B. :

boolean usort( array, function)
Nach dem Login kopieren

Wie wir sehen können, benötigt diese Funktion zwei Parameter als Eingabe. Das eine ist das Array, das wir sortieren möchten, und das andere ist die benutzerdefinierte Funktion, die über die Sortierung der Array-Elemente entscheidet. kurz gesagt, wie es sich verhalten würde. Jetzt sehen wir uns ein Übungsbeispiel an, um die Syntax besser zu verstehen.

z.B. :

usort( $myArr, "demo_sort_function");
Nach dem Login kopieren

In der obigen Syntax übergeben wir Array- und benutzerdefinierte Funktionen an die Funktion usort(). Wir werden die Funktion im nächsten Abschnitt ausführlich besprechen.

Wie funktioniert die Funktion usort() in PHP?

Jetzt wissen wir, dass die Funktion usort() verwendet wird, um das Array auf benutzerdefinierte Weise zu sortieren. Wir können unsere eigene Logik zum Sortieren von Array-Elementen definieren. PHP verfügt über so viele integrierte Funktionen, die ein Array sortieren, aber ein Vorteil hier ist, dass wir hier unseren Sortieralgorithmus zum Sortieren schreiben können. Außerdem entfernt diese Funktion alle alten Schlüssel der Array-Elemente und weist jedem von ihnen einen neuen Schlüssel zu. Diese Schlüsselreihenfolge beginnt bei 0 und so weiter bis zur Länge der Funktion. Jetzt werden wir im Detail die Parameter besprechen, die diese Funktion als Eingabe verwendet, und auch den Rückgabetyp der Funktion. siehe unten

Diese Funktion benötigt zwei Parameter, die wie folgt lauten:

1) $array (erster Parameter): Dies ist der erste Parameter, den diese Funktion als Eingabe verwendet. Wir können ein Array definieren und es hier übergeben. Dies wird das Array sein, das wir auf eine neue Art und Weise sortieren möchten.

2) Vergleichsfunktion (zweiter Parameter): Dies ist der zweite Parameter, den diese Funktion als Argument verwendet, und dies ist die benutzerdefinierte Funktion, die die Sortierlogik enthält Es. Wir können eine Funktion definieren und die benutzerdefinierte Funktion über diese usort()-Funktion aufrufen. Wir müssen den Namen auf diese Weise im „function_name“ übergeben. Im Folgenden rufen wir eine Funktion auf, mit der wir unser Array nach Namen sortieren.

z.B.. :

usort($arr, "sortByName")
Nach dem Login kopieren

3) Boolean (Rückgabetyp): Der Rückgabetyp für diese Funktion ist Boolean, und Boolean stellt den Wert entweder TRUE oder FALSE dar, abhängig vom Ergebnis der Funktion. Diese Funktion gibt im Fehlerfall FALSE und im Erfolgsfall TRUE zurück. Nun sehen wir uns an einem Praxisbeispiel an, wie das in der Praxis funktioniert und wo wir diese Funktion nutzen können. Hier ist das Übungsbeispiel für Anfänger, um den Ablauf und die Funktionsweise zu verstehen. Siehe unten;

z.B. :

function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return 1;
else
return -1;
}
$myarr=array(40, 50, 20, 10, 100, 500, 20, 18);
usort($myarr,"my_function_to_sort");
Nach dem Login kopieren

Im obigen Beispiel haben wir ein Array namens „myarr“ erstellt, das alle Elemente enthält, die wir sortieren möchten. Hier haben wir diesem Array einige Werte wie 40, 50, 20, 10, 100, 500, 20, 18 zugewiesen und die Array-Funktion verwendet, die bereits in PHP verfügbar ist. Außerdem haben wir hier eine Funktion namens „my_function_to_sort“ erstellt. Diese Funktion ist dafür verantwortlich, die Array-Elemente basierend auf der von uns zurückgegebenen Bedingung zu sortieren. Darin haben wir hauptsächlich die Logik geschrieben, wenn zwei übergebene Werte größer, kleiner oder gleich sind. Auf dieser Grundlage platziert wit die Elemente im Array.

Jetzt sehen wir uns die Bedingungen im Detail an. Welche Bedeutung haben hier 1, -1 und 0? Lassen Sie uns sie im Detail besprechen. Siehe unten;

1) 0: Wenn beide Elemente gleich sind, wird hier 0 zurückgegeben.

2) 1: Aus der obigen Bedingung können wir ersehen, dass, wenn a1 kleiner als b1 ist, 1 zurückgegeben wird.

3) -1: Aus der obigen Bedingung können wir ersehen, dass, wenn a1 größer als b1 ist, -1 zurückgegeben wird.

Und die gesamte Logik ist dafür verantwortlich, das Array einer Ganzzahl in aufsteigender oder absteigender Reihenfolge zu sortieren. Im obigen Programm wird für uns die absteigende Sortierung der Array-Elemente durchgeführt.

After this, we are calling usort() function, and here we pass our own parameters here, and that is named ‘$myarr’ ‘my_function_to_sort’. This we can say a custom sorting that we have implemented by using the usort ()
function.

Examples of PHP usort()

Lets us discuss the examples of PHP usort().

Example 1

1) In this example, we are sorting an array of an integer using usort() function available in PHP. This is a custom sort, and we are sorting in descending order.




Demo for usort() funciton in PHP

******************** START ***************

"; echo "

values are ::

"; echo "
"; $lenarr=count($myarr); for($i=0;$i<$lenarr;$i++) { echo "Inside loop printing values :::"; echo $myarr[$i]; echo "
"; } ?>

******************** END ***************

Nach dem Login kopieren

Output:

PHP usort()

Example 2

In this example, we are trying to sort an array of the string by using the usort() function available in PHP. Here we are sorting in ascending order or natural order.

<!DOCTYPE html>
<html>
<body>
<p>Demo for usort() funciton in PHP</p>
<p>******************** START ***************</p>
<?php
function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return -1;
else
return 1;
}
$myarr=array("red","yellow", "orange", "black","pink","purple","brown");
usort($myarr,"my_function_to_sort");
echo "<br>";
echo "<p>values are ::</p>";
echo "<br>";
$lenarr=count($myarr);
for($i=0;$i<$lenarr;$i++)
{
echo "Inside loop printing values :::";
echo $myarr[$i];
echo "<br>";
}
?>
<p>******************** END ***************</p>
</body>
</html>
Nach dem Login kopieren

Output:

PHP usort()

Conclusion

By using this function, we can sort the array in a custom order, or we can say, in a user-defined manner. This can be called a new manner sorting. By using this, we can sort any number of elements in the array and apply our own logic to sort the data in ascending and descending or natural order.

Das obige ist der detaillierte Inhalt vonPHP usort(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!