Heim >php教程 >php手册 >Mehrdimensionales PHP-Array, sortiert nach dem Wert eines der Felder

Mehrdimensionales PHP-Array, sortiert nach dem Wert eines der Felder

WBOY
WBOYOriginal
2016-09-28 08:38:231259Durchsuche

Das übliche einfache eindimensionale Array oder die einfache Array-Sortierung wird hier nicht vorgestellt. Dies gilt hauptsächlich für Situationen, die in alltäglichen Projekten auftreten können und bei denen nach einem der mehrdimensionalen Arrays sortiert wird.
Die verwendete PHP-Funktion ist: array_multisort.

Idee: Holen Sie sich das zu sortierende Feld als eindimensionales Array arr1, das später zum Sortieren der mehrdimensionalen Array-Daten verwendet wird.
Hier nehmen wir hauptsächlich ein zweidimensionales Array als Beispiel: und die gleiche Idee wird für mehrdimensionale Arrays verwendet.

$data = array(<br>    array('price' => '500', 'count' => '40', 'level' => '1'),<br>    array('price' => '600', 'count' => '30', 'level' => '2'),<br>    array('price' => '650', 'count' => '20', 'level' => '3'),<br>    array('price' => '700', 'count' => '10', 'level' => '4'),<br>);

Angenommen, der Flashback basiert auf dem Preis, müssen wir den Wert des Preisfelds als neues eindimensionales Array erhalten.

$arr1 = array_map(create_function('$n', 'return $n["price"];'), $data);

Wenn die PHP-Version größer als 5.5 ist, können Sie die Array-Operationsmethode array_column direkt verwenden, um ein Feld direkt abzurufen. Sie können es auch über foreach abrufen, aber versuchen Sie, integrierte Funktionen zu verwenden, um es zu verarbeiten.

Verwenden Sie dann array_multisort zum Verarbeiten,

array_multisort($arr1,SORT_DESC,$data );//多维数组的排序

Wir können das Endergebnis von $data ausdrucken, um das Ergebnis zu sehen:

Stellungnahme:
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