Wie sortiert man ein assoziatives Array in aufsteigender Reihenfolge nach dem Schlüssel in PHP?
In PHP gibt es verschiedene Methoden, um ein assoziatives Array nach dem Schlüssel in aufsteigender Reihenfolge zu sortieren. Hier sind einige Beispiele:
Verwendung der Funktion "ksort()"
Die Funktion "ksort()" sortiert ein Array nach dem Schlüssel in aufsteigender Reihenfolge. Hier ist ein Beispiel:
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
ksort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
Die Ausgabe wird sein:
a = Orange
b = Banane
c = Apfel
d = Zitrone
Verwendung der Funktion "uksort()"
Die Funktion "uksort()" sortiert ein Array nach dem Schlüssel unter Verwendung einer benutzerdefinierten Funktion. Hier ist ein Beispiel:
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
uksort($fruits, "cmp");
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
Die Ausgabe wird sein:
a = Orange
b = Banane
c = Apfel
d = Zitrone
Verwendung der Funktion "array_multisort()"
Die Funktion "array_multisort()" sortiert mehrere Arrays oder mehrdimensionale Arrays nach einem oder mehreren Schlüsseln. Hier ist ein Beispiel:
$fruits = array(
array("name" => "Zitrone", "color" => "gelb"),
array("name" => "Orange", "color" => "orange"),
array("name" => "Banane", "color" => "gelb"),
array("name" => "Apfel", "color" => "rot")
);
foreach ($fruits as $key => $row) {
$name[$key] = $row['name'];
$color[$key] = $row['color'];
}
array_multisort($color, SORT_ASC, $name, SORT_ASC, $fruits);
print_r($fruits);
Die Ausgabe wird sein:
Array
(
[0] => Array
(
[name] => Banane
[color] => gelb
)
[1] => Array
(
[name] => Zitrone
[color] => gelb
)
[2] => Array
(
[name] => Orange
[color] => orange
)
[3] => Array
(
[name] => Apfel
[color] => rot
)
)