Heim >Backend-Entwicklung >PHP-Problem >So tauschen Sie Array-Schlüssel und -Werte in PHP aus
In PHP ist es manchmal notwendig, die Schlüssel und Werte im Array auszutauschen. Konvertieren Sie beispielsweise ein Array mit Zahlen als Schlüssel in ein assoziatives Array mit Werten als Schlüssel. Anfänger mögen denken, dass dies schwierig zu implementieren ist, aber tatsächlich bietet PHP eine sehr einfache Möglichkeit, diese Funktion zu erreichen. In diesem Artikel erfahren Sie, wie Sie Array-Schlüssel und -Werte mit PHP transponieren.
Methode 1: Verwenden Sie die Funktion array_flip.
In PHP können Sie die Funktion array_flip verwenden, um die Schlüssel und Werte im Array auszutauschen. Diese Funktion verwendet ein Array als Eingabe und gibt ein neues Array mit den Originalwerten als Schlüsseln und den Originalschlüsseln als Werten zurück. Zum Beispiel:
$numbers = array(1, 2, 3, 4, 5); $flipped_numbers = array_flip($numbers); print_r($flipped_numbers); // Output: // Array // ( // [1] => 0 // [2] => 1 // [3] => 2 // [4] => 3 // [5] => 4 // )
Im obigen Beispiel übergeben wir ein durch Zahlen verschlüsseltes Array an die Funktion array_flip und speichern das zurückgegebene Ergebnis in der Variablen $flipped_numbers. Diese Funktion verwendet die Werte des ursprünglichen Arrays als Schlüssel des neuen Arrays und die Schlüssel des ursprünglichen Arrays als Werte des neuen Arrays. Daher sind die Schlüssel im Array $flipped_numbers die Zahlen 1 bis 5 und die Werte sind die Schlüssel des ursprünglichen Arrays.
Bitte beachten Sie, dass beim Aufruf der Funktion array_flip ein Fehler gemeldet wird, wenn im ursprünglichen Array mehrere identische Werte vorhanden sind, da derselbe Wert nicht gleichzeitig der Schlüssel des neuen Arrays sein kann.
Methode 2: Foreach-Schleife verwenden
Zusätzlich zur Verwendung der Funktion array_flip können wir auch die Foreach-Schleife verwenden, um die Schlüssel und Werte des Arrays auszutauschen. Dieser Ansatz erfordert eine Iteration über das ursprüngliche Array und die Verwendung eines neuen assoziativen Arrays zum Speichern der Ergebnisse. Verwenden Sie in jeder Schleife die Schlüssel des ursprünglichen Arrays als Werte des neuen Arrays und die Werte des ursprünglichen Arrays als Schlüssel des neuen Arrays. Zum Beispiel:
$numbers = array(1, 2, 3, 4, 5); $flipped_numbers = array(); foreach ($numbers as $key => $value) { $flipped_numbers[$value] = $key; } print_r($flipped_numbers); // Output: // Array // ( // [1] => 0 // [2] => 1 // [3] => 2 // [4] => 3 // [5] => 4 // )
Im obigen Beispiel definieren wir zunächst ein leeres assoziatives Array $flipped_numbers. Anschließend verwenden wir eine foreach-Schleife, um das ursprüngliche Array $numbers zu durchlaufen. In jeder Schleife speichern wir den Schlüssel des ursprünglichen Arrays (d. h. den Index) in der Variablen $value und den Wert des ursprünglichen Arrays (d. h. die Zahl) in der Variablen $key. Dann verwenden wir $key als Schlüssel des neuen Arrays $flipped_numbers und $value als Wert des neuen Arrays. Die Schlüssel im Array $flipped_numbers sind also die Zahlen 1 bis 5 und die Werte sind die Schlüssel des ursprünglichen Arrays.
Bitte beachten Sie, dass Sie bei Verwendung einer foreach-Schleife darauf achten müssen, dass die Werte im ursprünglichen Array eindeutig sind, da sonst derselbe Schlüssel auftritt, der auch bei Verwendung der Funktion array_flip auftritt.
Zusammenfassung
In diesem Artikel haben wir zwei Möglichkeiten kennengelernt, Array-Schlüssel und -Werte mit PHP zu transponieren. Die erste Möglichkeit besteht darin, die Funktion array_flip zu verwenden, die die Werte des ursprünglichen Arrays als Schlüssel des neuen Arrays und die Schlüssel des ursprünglichen Arrays als Werte des neuen Arrays verwendet. Die zweite Methode besteht darin, eine foreach-Schleife zu verwenden, das ursprüngliche Array zu durchlaufen, die Schlüssel und Werte des ursprünglichen Arrays auszutauschen und es in einem neuen assoziativen Array zu speichern. Je nach Nutzungsszenario können Sie flexibel zwischen diesen beiden Methoden wählen. Es ist zu beachten, dass Sie diese beiden Methoden nicht verwenden können, um die Schlüssel und Werte des ursprünglichen Arrays auszutauschen, wenn im ursprünglichen Array doppelte Werte vorhanden sind.
Das obige ist der detaillierte Inhalt vonSo tauschen Sie Array-Schlüssel und -Werte in PHP aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!