Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Schlüssel eines assoziativen PHP-Arrays individuell sortieren?
Benutzerdefinierte Schlüsselsortierung eines nicht hierarchischen assoziativen Arrays
In PHP ist es nicht möglich, ein assoziatives Array alphabetisch oder numerisch zu sortieren Standard. Es ist jedoch möglich, eine benutzerdefinierte Sortierreihenfolge basierend auf einem anderen Array zu erstellen.
Funktion zum Implementieren einer benutzerdefinierten Schlüsselsortierung
So erstellen Sie eine Funktion, die eine benutzerdefinierte Schlüsselsortierung ausführt. Zum Sortieren können Sie die Funktionen array_merge() oder array_replace() verwenden. Beide Funktionen benötigen zwei Arrays als Eingabe: Das erste Array gibt die gewünschte Reihenfolge der gewünschten Schlüssel an, während das zweite Array die tatsächlichen Daten enthält, die Sie sortieren möchten.
Der folgende Code zeigt, wie diese Funktion implementiert wird:
function sortArrayByArray($inputArray, $sortKeysArray) { return array_merge(array_flip($sortKeysArray), $inputArray); }
Beispielverwendung
Betrachten Sie das folgende Beispiel Array:
$customer['address'] = '123 fake st'; $customer['name'] = 'Tim'; $customer['dob'] = '12/08/1986'; $customer['dontSortMe'] = 'this value doesnt need to be sorted';
Um dieses Array basierend auf der im $sortKeysArray angegebenen Schlüsselreihenfolge zu sortieren, können Sie die Funktion sortArrayByArray() wie folgt verwenden:
$sortKeysArray = ['name', 'dob', 'address']; $properOrderedArray = sortArrayByArray($customer, $sortKeysArray);
Das resultierende $properOrderedArray wird wie folgt aussehen:
[ 'name' => 'Tim', 'dob' => '12/08/1986', 'address' => '123 fake st', 'dontSortMe' => 'this value doesnt need to be sorted' ]
Beachten Sie, dass die Schlüssel gemäß dem angegebenen $sortKeysArray und sortiert sind Die Werte bleiben erhalten. Der unsortierbare Schlüssel („dontSortMe“) wird an das Ende des Arrays angehängt.
Mit diesem Ansatz können Sie eine benutzerdefinierte Schlüsselsortierung für nicht hierarchische assoziative Arrays in PHP erreichen und so sicherstellen, dass die Array-Schlüssel vorhanden sind auf eine bestimmte Art und Weise bestellt werden.
Das obige ist der detaillierte Inhalt vonWie kann ich die Schlüssel eines assoziativen PHP-Arrays individuell sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!