Der PHP-Editor Banana zeigt Ihnen, wie Sie Arrays sortieren und Indexbeziehungen in PHP verwalten. Das Sortieren von Arrays ist ein häufiger Vorgang, aber manchmal möchten wir, dass das sortierte Array weiterhin die ursprüngliche Indexbeziehung beibehält, um die Integrität und Übereinstimmung der Daten sicherzustellen. In PHP können wir einige integrierte Funktionen und Techniken verwenden, um dieses Ziel zu erreichen, sodass das sortierte Array weiterhin dem Index des ursprünglichen Arrays entspricht. Als nächstes werden wir dieses Problem gemeinsam besprechen, in der Hoffnung, allen dabei zu helfen, die Sortierfunktion von PHP-Arrays besser anzuwenden.
PHP-Array-Sortierung und Pflege der Indexbeziehung
Zitat
In php sind Arrays dynamische Datenstrukturen, die zum Speichern und Verwalten von Daten verwendet werden. Das Sortieren eines Arrays ist ein häufiger Vorgang in der Datenverarbeitung, und manchmal ist es erforderlich, die Beziehung zwischen Array-Indizes nach dem Sortieren beizubehalten.
ksort()-Funktion
Die Funktionksort() wird zum Sortieren assoziativer Arrays verwendet. Sie sortiert das Array in aufsteigender Reihenfolge basierend auf dem Wert des Schlüssels. Wenn der Schlüssel eine Zeichenfolge ist, wird er entsprechend der alphabetischen Reihenfolge der Zeichenfolge sortiert.
$arr = ["name" => "John", "age" => 30, "city" => "New York"]; ksort($arr); print_r($arr);
Ausgabe:
Array ( [age] => 30 [city] => New York [name] => John )
krsort()-Funktion
Die Funktionkrsort() ähnelt der Funktion ksort(), sortiert jedoch ein assoziatives Array in absteigender Reihenfolge.
$arr = ["name" => "John", "age" => 30, "city" => "New York"]; krsort($arr); print_r($arr);
Ausgabe:
Array ( [name] => John [city] => New York [age] => 30 )
asort()-Funktion
Die Funktionasort() wird zum Sortieren eines Arrays verwendet. Sie sortiert das Array in aufsteigender Reihenfolge basierend auf den Werten im Array. Wenn der Wert eine Zeichenfolge ist, wird er alphabetisch nach der Zeichenfolge sortiert.
$arr = [10, 5, 2, 8, 4]; asort($arr); print_r($arr);
Ausgabe:
Array ( [2] => 2 [4] => 4 [5] => 5 [8] => 8 [10] => 10 )
arsort()-Funktion
Die Funktionarsort() ähnelt der Funktion asort(), sortiert ein Array jedoch in absteigender Reihenfolge.
$arr = [10, 5, 2, 8, 4]; arsort($arr); print_r($arr);
Ausgabe:
Array ( [10] => 10 [8] => 8 [5] => 5 [4] => 4 [2] => 2 )
sort()-Funktion
Die Funktionsort() wird zum Sortieren eines Arrays verwendet. Sie sortiert das Array in aufsteigender Reihenfolge basierend auf den Werten im Array. Allerdings indiziert die Funktion sort() das Array neu, wodurch die Indexbeziehung verloren geht.
$arr = ["name" => "John", "age" => 30, "city" => "New York"]; sort($arr); print_r($arr);
Ausgabe:
Array ( [0] => John [1] => New York [2] => 30 )
Verwenden Sie die benutzerdefinierte Vergleichsfunktion
Um ein Array über eine benutzerdefinierte Vergleichsfunktion zu sortieren und die Indexbeziehung aufrechtzuerhalten, können Sie die Funktion uasort() oder usort() verwenden.
function compare($a, $b) { return strnatcmp($a["name"], $b["name"]); } $arr = ["name" => "John", "age" => 30, "city" => "New York"]; uasort($arr, "compare"); print_r($arr);
Ausgabe:
Array ( [name] => John [city] => New York [age] => 30 )
Zusammenfassung
Sie können Indexbeziehungen beim Sortieren von PHP-Arrays beibehalten, indem Sie ksort(), krsort(), asort(), arsort() und benutzerdefinierte Vergleichsfunktionen verwenden. Dies ist nützlich, wenn Sie nach dem Sortieren noch auf den Originalindex zugreifen müssen.
Das obige ist der detaillierte Inhalt vonSo sortieren Sie ein Array in PHP und pflegen die Indexbeziehung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!