PHP Handbuch
Zurück |  | Nach vorne

# array_multisort

(PHP 4 )

array_multisort -- Sortiert mehrere oder multidimensionale Arrays

## Beschreibung

bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]])

array_multisort() wird zum Sortieren von entweder mehreren Arrays auf einmal, oder eines multidimensionalen Arrays (entsprechend einer von mehreren Dimensionen) benutzt. Bei der Sortierung werden die Schlüsselassoziationen beibehalten.

Die angegebenen Arrays werden als Spalten einer Tabelle behandelt, welche nach Reihen sortiert werden - ähnlich der SQL Klausel ORDER BY. Das erste Array ist auch das erste in der Sortierreihenfolge. Die in diesem Array gleichen Zeilen (Werte) werden anhand des nächsten angegebenen Arrays sortiert, usw.

Die Struktur der Argumente ist etwas ungewöhnlich, aber flexibel. Das aller erste Argument muss ein Array sein. Die nachfolgenden Argumente können entweder ein Array oder eines der folgenden Sortierflags sein.

Flags für Sortierreihenfolge:

- SORT_ASC - sortiere in aufsteigender Reihenfolge

- SORT_DESC - sortiere in absteigender Reihenfolge

Flags für Sortiertypen:

- SORT_REGULAR - vergleiche Felder normal

- SORT_NUMERIC - vergleiche Felder numerisch

- SORT_STRING - vergleiche Felder als Strings

Es kann nur ein Sortierflag des selben Typs nach jedem Array spezifiziert werden. Sortierflags nach einem Array Argument gelten nur für dieses Array, und werden vor jedem neuen Array Argument zu den Defaultflags SORT_ASC und SORT_REGULAR zurückgesetzt.

Gibt bei Erfolg `TRUE` zurück, im Fehlerfall `FALSE`.

Beispiel 1. Sortieren mehrerer Arrays

    $ar1 = array ("10", 100, 100, "a");
    $ar2 = array (1, 3, "2", 1);
    array_multisort ($ar1, $ar2);

In diesem Beispiel enthält das erste Array nach dem Sortieren 10, "a", 100, 100. Das zweite Array wird 1, 1, "2", 3 enthalten. Die Einträge des zweiten Arrays, welche den identischen Einträgen des ersten Arrays entsprechen (100 und 100) wurden ebenfalls sortiert.

Beispiel 2. Sortieren eines mehrdimensionalen Arrays

    $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
    array_multisort ($ar[0], SORT_ASC, SORT_STRING,
                     $ar[1], SORT_NUMERIC, SORT_DESC);

In diesem Beispiel enthält das erste Array nach dem Sortieren 10, 100, 100, "a" (wurde als Strings in aufsteigender Reihenfolge sortiert), und das zweite enthält 1, 3, "2", 1 (numerisch und absteigender Reihenfolge sortiert).

Zurück | Zum Anfang | Nach vorne
array_merge | Nach oben | array_pad