In diesem Artikel wird hauptsächlich die Implementierung der zweidimensionalen Array-Sortierung in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Für die zweidimensionale Array-Sortierung in PHP können Sie die in PHP integrierte Funktion uasort() verwenden
Beispiel 1:
Benutzerdefiniert verwenden Die Vergleichsfunktion sortiert die Werte im Array und behält die Indexzuordnung bei
Die Rückruffunktion lautet wie folgt: Beachten Sie, dass der Rückgabewert der Rückruffunktion negativ ist Zahl oder falsch bedeutet, dass der erste Parameter der Rückruffunktion an erster Stelle steht. Der zweite Parameter wird nach
$person = array( array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21), array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23), array('num'=>'003','id'=>1,'name'=>'bhangsan','age'=>23), array('num'=>'001','id'=>3,'name'=>'dhangsan','age'=>23), ); //负数或者false表示第一个参数应该在前 function sort_by_name($x,$y){ return strcasecmp($x['name'],$y['name']); }
angeordnet und wie folgt verwendet:
uasort($person,'sort_by_name');
Das Folgende ist ein zweidimensionales Array Sortiermethode für Referenz- und Interviewzwecke:
//$array 要排序的数组 //$row 排序依据列 //$type 排序类型[asc or desc] //return 排好序的数组 function array_sort($array,$row,$type){ $array_temp = array(); foreach($array as $v){ $array_temp[$v[$row]] = $v; } if($type == 'asc'){ ksort($array_temp); }elseif($type='desc'){ krsort($array_temp); }else{ } return $array_temp; }
Beispiel 2:
Eindimensionale Array-Sortierung kann mit asort, ksort und anderen Methoden durchgeführt werden, was relativ einfach ist . Wie implementiert man die Sortierung zweidimensionaler Arrays? Durch die Verwendung von array_multisort und usort kann
beispielsweise das folgende Array erreicht werden:
Der Code lautet wie folgt:
$users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22) );
Ich hoffe, nach zu sortieren Alter von klein bis groß. Der Autor hat zwei Methoden herausgefunden und sie mit allen geteilt.
1. Verwenden Sie array_multisort
Die Verwendung dieser Methode ist aufwändiger. Sie müssen das Alter extrahieren, es in einem eindimensionalen Array speichern und es dann anordnen in aufsteigender Reihenfolge nach Alter. Der spezifische Code lautet wie folgt:
Der Code lautet wie folgt:
$ages = array(); foreach ($users as $user) { $ages[] = $user['age']; } array_multisort($ages, SORT_ASC, $users);
Nach der Ausführung ist $users ein sortiertes Array, das zur Ansicht ausgedruckt werden kann. Wenn Sie zuerst in aufsteigender Reihenfolge nach Alter und dann in aufsteigender Reihenfolge nach Namen sortieren müssen, ist die Methode dieselbe wie oben, d 🎜>Der Code lautet wie folgt:
array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);
Der größte Vorteil dieser Methode besteht darin, dass Sie einige komplexere Sortiermethoden anpassen können. Sortieren Sie beispielsweise nach Namenslänge in absteigender Reihenfolge:
Der Code lautet wie folgt:
usort($users, function($a, $b) { $al = strlen($a['name']); $bl = strlen($b['name']); if ($al == $bl) return 0; return ($al > $bl) ? -1 : 1; });
Hier werden anonyme Funktionen verwendet, die bei Bedarf separat extrahiert werden können. Unter diesen können $a und $b als Elemente im Array $users verstanden werden. Sie können den Namenswert direkt indizieren, die Länge berechnen und dann die Längen vergleichen.
========================================== == ========================
Hier übrigens ein paar Funktionen der PHP-Sortierungsort Sortiert das Array
Gilt im Allgemeinen für eindimensionale Index-Arrays und behält den Index nicht bei
rsort Sortiert das Array in umgekehrter ReihenfolgeDie Verwendung ist konsistent mit sort
asort sortiert das Arrayund behält die Indexbeziehung bei, um die Werte zu sortieren. Es ist im Allgemeinen für eindimensionale Arrays geeignet und behält die Indexbeziehung bei
arsort sortiert das Array in umgekehrter Reihenfolge und behält den Index bei. Die Beziehungstimmt mit der Verwendung von asort überein
ksort sortiert das Array nach dem Schlüsselnamenkrsort sortiert das Array in umgekehrter Reihenfolge nach dem Schlüsselnamen
Zusammenfassung
: Das Obige ist hoffentlich der gesamte Inhalt dieses Artikels Es wird für das Lernen aller hilfreich sein.
Verwandte Empfehlungen:So legen Sie die Dateigröße mit der readfile()-Funktion in PHP fest PHP-Anpassung Detaillierte Erläuterung der Bildmitte-ZuschneidefunktionPHP implementiert das Kopieren, Löschen, Anzeigen der Größe usw. von Ordnern basierend auf der Iteration
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die zweidimensionale Array-Sortierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!