Heim Backend-Entwicklung PHP-Problem So sortieren Sie ein zweidimensionales Array in PHP

So sortieren Sie ein zweidimensionales Array in PHP

Apr 17, 2023 pm 04:37 PM

In der Entwicklung müssen wir Daten häufig sortieren, um sie besser präsentieren und verwenden zu können. Bei zweidimensionalen Arrays kann die Sortierung nach einem bestimmten Datenfeld erfolgen. In diesem Artikel wird erläutert, wie Sie mit PHP ein zweidimensionales Array sortieren.

1. Verwenden Sie die Funktion sort(), um ein zweidimensionales Array zu sortieren.

sort() ist eine integrierte Funktion von PHP, die die Werte im Array in aufsteigender Reihenfolge sortieren kann. Beim Sortieren eines zweidimensionalen Arrays sortiert die Funktion sort() standardmäßig nach dem ersten Feld des Arrays. Zum Beispiel haben wir ein zweidimensionales Array:

$arr = array(
     array('id'=>2,'name'=>'li', 'age'=>20),
     array('id'=>1,'name'=>'zhang', 'age'=>22),
     array('id'=>3,'name'=>'wang', 'age'=>18)
);
Nach dem Login kopieren

Wir können die Funktion sort() verwenden, um nach dem ID-Feld zu sortieren:

sort($arr);
print_r($arr);
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => Array
        (
            [age] => 18
            [id] => 3
            [name] => wang
        )

    [1] => Array
        (
            [age] => 20
            [id] => 2
            [name] => li
        )

    [2] => Array
        (
            [age] => 22
            [id] => 1
            [name] => zhang
        )

)
Nach dem Login kopieren

Es ist ersichtlich, dass nach dem Sortieren nach der ID werden die Elemente in aufsteigender Reihenfolge sortiert.

2. Verwenden Sie die Funktion usort(), um das zweidimensionale Array zu sortieren.

Die Funktion sort() kann nur nach dem ersten Feld des Arrays sortieren. Wenn Sie nach anderen Feldern sortieren möchten, müssen Sie die Funktion usort verwenden ()-Funktion. Die Funktion usort() muss eine benutzerdefinierte Rückruffunktion übergeben, um die Sortierregeln anzugeben. Zum Beispiel möchten wir nach dem Altersfeld sortieren:

function cmp($a, $b)
{
    if ($a['age'] == $b['age']) {
        return 0;
    }
    return ($a['age'] <$ b['age']) ? -1 : 1;
}

usort($arr, "cmp");
print_r($arr);
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

Array
(
    [0] => Array
        (
            [id] => 3
            [name] => wang
            [age] => 18
        )

    [1] => Array
        (
            [id] => 2
            [name] => li
            [age] => 20
        )

    [2] => Array
        (
            [id] => 1
            [name] => zhang
            [age] => 22
        )

)
Nach dem Login kopieren

Es ist ersichtlich, dass nach der Sortierung nach dem Altersfeld die Elemente im Array in aufsteigender Reihenfolge ihres Alters angeordnet sind.

3. Verwenden Sie die Funktion array_multisort(), um zweidimensionale Arrays zu sortieren. Die Funktion array_multisort() ist eine sehr leistungsstarke Sortierfunktion, die zweidimensionale Arrays nach mehreren Bedingungen sortieren kann. Wenn Sie nach mehreren Feldern sortieren möchten, können Sie die Funktion array_multisort() verwenden. Zum Beispiel möchten wir zuerst nach dem Altersfeld sortieren, dann nach der ID sortieren:

$ages = array();
$ids = array();
foreach ($arr as $key => $value) {
    $ages[$key] = $value['age'];
    $ids[$key] = $value['id'];
}
array_multisort($ages, SORT_ASC, $ids, SORT_ASC, $arr);

print_r($arr);
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => Array
        (
            [id] => 3
            [name] => wang
            [age] => 18
        )

    [1] => Array
        (
            [id] => 2
            [name] => li
            [age] => 20
        )

    [2] => Array
        (
            [id] => 1
            [name] => zhang
            [age] => 22
        )

)
Nach dem Login kopieren

Es ist ersichtlich, dass nach dem Sortieren nach dem Altersfeld und dem id-Feld, die Elemente im Array sind in aufsteigender Reihenfolge nach Alter angeordnet. Wenn das Alter gleich ist, wird in aufsteigender Reihenfolge nach ID sortiert.

Zusammenfassung:

In diesem Artikel werden drei Methoden zum Sortieren zweidimensionaler Arrays vorgestellt, wobei die Funktionen sort(), usort() und array_multisort() verwendet werden. Welche Methode in der Entwicklung zu wählen ist, hängt von den spezifischen Anforderungen ab. Ich hoffe, dieser Artikel ist für alle hilfreich.

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

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die besten Praktiken für die Deduplizierung von PHP -Arrays Was sind die besten Praktiken für die Deduplizierung von PHP -Arrays Mar 03, 2025 pm 04:41 PM

Was sind die besten Praktiken für die Deduplizierung von PHP -Arrays

Kann PHP Array -Deduplizierung die Einzigartigkeit der Schlüsselnamen nutzen? Kann PHP Array -Deduplizierung die Einzigartigkeit der Schlüsselnamen nutzen? Mar 03, 2025 pm 04:51 PM

Kann PHP Array -Deduplizierung die Einzigartigkeit der Schlüsselnamen nutzen?

Was sind die neuesten PHP -Codierungsstandards und Best Practices? Was sind die neuesten PHP -Codierungsstandards und Best Practices? Mar 10, 2025 pm 06:16 PM

Was sind die neuesten PHP -Codierungsstandards und Best Practices?

Was sind die Optimierungstechniken für die Deduplizierung von PHP -Arrays Was sind die Optimierungstechniken für die Deduplizierung von PHP -Arrays Mar 03, 2025 pm 04:50 PM

Was sind die Optimierungstechniken für die Deduplizierung von PHP -Arrays

Muss die PHP -Array -Deduplizierung für Leistungsverluste in Betracht gezogen werden? Muss die PHP -Array -Deduplizierung für Leistungsverluste in Betracht gezogen werden? Mar 03, 2025 pm 04:47 PM

Muss die PHP -Array -Deduplizierung für Leistungsverluste in Betracht gezogen werden?

Wie arbeite ich mit PHP -Erweiterungen und PECL? Wie arbeite ich mit PHP -Erweiterungen und PECL? Mar 10, 2025 pm 06:12 PM

Wie arbeite ich mit PHP -Erweiterungen und PECL?

Wie implementieren Sie Nachrichtenwarteschlangen (Rabbitmq, Redis) in PHP? Wie implementieren Sie Nachrichtenwarteschlangen (Rabbitmq, Redis) in PHP? Mar 10, 2025 pm 06:15 PM

Wie implementieren Sie Nachrichtenwarteschlangen (Rabbitmq, Redis) in PHP?

Wie kann man Reflection verwenden, um den PHP -Code zu analysieren und zu manipulieren? Wie kann man Reflection verwenden, um den PHP -Code zu analysieren und zu manipulieren? Mar 10, 2025 pm 06:12 PM

Wie kann man Reflection verwenden, um den PHP -Code zu analysieren und zu manipulieren?

See all articles