Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Array-Sortierung usort uksort Sortierfunktion
Sortieren Sie das Array: Die Funktion usort() verwendet eine benutzerdefinierte Funktion, um das Array zu sortieren. Der Beispielcode lautet wie folgt:
function cmp($a, $b) //Benutzerdefiniert Rückruffunktion
{
if($a==$b) //Wenn die beiden Parameter gleich sind
{
return 0; // Return 0
}
return($a>$b)?-1:1 //Wenn der erste Parameter größer als der zweite Parameter ist, gebe 1 zurück, andernfalls -1
}
$ a = Array (3,2,5,6,1); // Definiere ein Array
usort ($ a, "cmp"); Verwenden Sie eine benutzerdefinierte Funktion, um das Array zu sortieren
foreach($a as $key=>$value) //Schleife zur Ausgabe der sortierten Schlüssel-Wert-Paare
{
echo "$key:$valuen";
}
Hinweis: Wenn die Vergleichsergebnisse zweier Elemente gleich sind, ist ihre Reihenfolge im sortierten Array undefiniert Benutzerdefinierte Funktionen behalten die ursprüngliche Reihenfolge dieser Elemente bei, aber aufgrund des in 4.1.0 eingeführten neuen Sortieralgorithmus wird das Ergebnis nicht so sein, da es dafür keine wirksame Lösung gibt Sortieren Sie die Array-Schlüssel uksort( array, sorttype), der Beispielcode lautet wie folgt:
function cmp($a, $b) //Benutzerdefinierte Rückruffunktion
{
if($a== $b) //Wenn die beiden Parameter gleich sind
{
return 0; //Return 0
}
return($a>$b )?-1:1; //Wenn der erste Parameter größer als der zweite Parameter ist, 1 zurückgeben, andernfalls -1
}
$ a=array(4=>"vier", 3 =>"drei",20 =>"zwanzig",10=>"zehn" //Definiere ein Array
uksort ( $a,"cmp"); //Verwenden Sie self. Definieren Sie eine Funktion zum Sortieren der Array-Schlüssel
foreach($a as $key=>$value) //Schleife zur Ausgabe der sortierten Schlüssel-Wert-Paare
{//
echo "$key:$valuen";
}
uksort()-Funktion verwendet eine benutzerdefinierte Vergleichsfunktion zum Sortieren das Array entsprechend dem Schlüsselnamen, behält die Indexbeziehung bei und gibt bei Erfolg true zurück, andernfalls false.
Wenn das zu sortierende Array nach einem ungewöhnlichen Kriterium sortiert werden muss, sollte diese Funktion verwendet werden Die benutzerdefinierte Funktion sollte zwei Parameter akzeptieren, die ein Schlüsselnamenspaar sind. Die Vergleichsfunktion muss eine Ganzzahl kleiner als Null, gleich Null bzw. größer als Null zurückgeben, wenn der erste Parameter kleiner als oder gleich ist. oder größer als der zweite Parameter.
Funktion sort() Sortiert die Werte des angegebenen Arrays in aufsteigender Reihenfolge
Hinweis: Diese Funktion weist der Einheit einen neuen Schlüsselnamen zu Das Array wird gelöscht. Bei Erfolg wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben. ,"apple"); //Definiere ein Array
sort($fruits); Sortiere das Array
foreach($fruits as $key=>$val) //Schleife zur Ausgabe die Schlüssel-Wert-Paare nach dem Sortieren des Arrays
{
echo "$key =$valn" //Schlüssel-Wert-Paar ausgeben
}//