Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man ein zweidimensionales Array in PHP aufsteigt

Wie man ein zweidimensionales Array in PHP aufsteigt

王林
王林Original
2023-05-19 13:50:08614Durchsuche

Lernen Sie die PHP-Entwicklung ausführlich und es gibt viele häufige Probleme, die gelöst werden müssen. Etwas so Grundlegendes wie das Sortieren eines zweidimensionalen Arrays in aufsteigender Reihenfolge. In diesem Artikel erfahren Sie, wie Sie in PHP ein 2D-Array in aufsteigender Reihenfolge sortieren.

Ein zweidimensionales Array ist eine Art PHP-Array, das einen geordneten Satz von Werten enthält. Es hat mehr Dimensionen als ein eindimensionales Array und kann in andere Arrays verschachtelt werden. Dies macht 2D-Arrays ideal für die Verarbeitung großer Datenmengen.

In PHP können wir das Array mithilfe der Sortierfunktion sortieren, die das Array gemäß der ASCII-Codetabelle in aufsteigender Reihenfolge und umgekehrt in absteigender Reihenfolge sortiert. Bei eindimensionalen Arrays ist das Sortieren mit der Sortierfunktion einfach, bei zweidimensionalen Arrays ist jedoch eine zusätzliche Verarbeitung erforderlich.

Um ein zweidimensionales Array zu sortieren, müssen wir einen „Schlüssel“ angeben, um jedes Unterarray zu sortieren. Ein Schlüssel ist ein Attribut in einem Array, das zum Vergleich und Sortieren verwendet wird. In diesem Fall kann der „Schlüssel“ ein beliebiges Attribut des Arrays sein, beispielsweise Name, Datum, Preis oder ID usw.

Eine einfache Möglichkeit besteht darin, die PHP-Funktion array_column() zu verwenden, die in einem zweidimensionalen Array nach einem bestimmten Schlüsselnamen sucht. Diese Funktion gibt ein Array zurück, das alle Werte für den angegebenen Schlüssel enthält. Wählen Sie den Schlüssel aus, nach dem wir sortieren möchten, und verwenden Sie die Funktion array_multisort(), um den Schlüssel in aufsteigender Reihenfolge zu sortieren.

Das Folgende ist ein Beispielcode zum Betreiben eines Arrays, das array_column() und array_multisort() verwendet, um ein zweidimensionales Array in aufsteigender Reihenfolge zu sortieren.

<?php
$employees = array(
  array('name' => 'John Smith', 'age' => 28, 'salary' => 3000),
  array('name' => 'Anna Black', 'age' => 33, 'salary' => 2500),
  array('name' => 'Peter Brown', 'age' => 24, 'salary' => 2200),
  array('name' => 'Emma Rose', 'age' => 29, 'salary' => 3500),
);

// 排序前的数组
echo "排序前:<br>";
print_r($employees);

// 获取所有员工的工资
$salary = array_column($employees, 'salary');

// 按升序排序员工工资
array_multisort($salary, SORT_ASC, $employees);

// 排序后的数组
echo "排序后:<br>";
print_r($employees);
?>

Im obigen Beispielcode definieren wir zunächst ein zweidimensionales Array mit Daten wie Mitarbeitername, Alter und Gehalt. Wir verwenden die Funktion print_r(), um die Ergebnisse vor dem Sortieren anzuzeigen. Als nächstes nutzen wir die Funktion array_column(), um die Gehaltswerte aller Mitarbeiter abzurufen und diese in einer Variablen zu speichern. Schließlich verwenden wir die Funktion array_multisort(), um diese Variable in aufsteigender Reihenfolge zu sortieren und das ursprüngliche Array in derselben Reihenfolge zu sortieren. Wir verwenden erneut die Funktion print_r(), um die sortierten Ergebnisse anzuzeigen.

Dieser Beispielcode gibt die folgenden Ergebnisse aus:

排序前:
Array
(
    [0] => Array
        (
            [name] => John Smith
            [age] => 28
            [salary] => 3000
        )

    [1] => Array
        (
            [name] => Anna Black
            [age] => 33
            [salary] => 2500
        )

    [2] => Array
        (
            [name] => Peter Brown
            [age] => 24
            [salary] => 2200
        )

    [3] => Array
        (
            [name] => Emma Rose
            [age] => 29
            [salary] => 3500
        )

)

排序后:
Array
(
    [0] => Array
        (
            [name] => Peter Brown
            [age] => 24
            [salary] => 2200
        )

    [1] => Array
        (
            [name] => Anna Black
            [age] => 33
            [salary] => 2500
        )

    [2] => Array
        (
            [name] => John Smith
            [age] => 28
            [salary] => 3000
        )

    [3] => Array
        (
            [name] => Emma Rose
            [age] => 29
            [salary] => 3500
        )

)

Wie oben gezeigt, können wir durch die Zusammenarbeit der Funktionen array_column() und array_multisort() die beiden problemlos sortieren. dimensionales Array in aufsteigender Reihenfolge sortieren.

Für andere Sortierarten ändern Sie einfach den ersten Parameter der Funktion array_multisort(), um ein anderes Attribut zu verwenden.

In PHP gibt es viele interessante Funktionen und Methoden, die uns die Arbeit erleichtern können. Wenn Sie sich dieses Wissen aneignen, können Sie große Datenmengen effizienter verarbeiten und so Ihre PHP-Entwicklungsfähigkeiten verbessern.

Das obige ist der detaillierte Inhalt vonWie man ein zweidimensionales Array in PHP aufsteigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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