In PHP wird die Funktion array_combine normalerweise verwendet, um zwei Arrays in ein assoziatives Array zu kombinieren, wobei Elemente eines Arrays als Schlüssel und Elemente des anderen Arrays als Werte sind. Wenn wir jedoch die Schlüssel und Werte eines Arrays invertieren möchten, dh den ursprünglichen Wert als Schlüssel und die ursprünglichen Schlüssel als Werte verwenden, wird Array_combine nicht direkt zur Implementierung verwendet. Wir können diese Funktion jedoch leicht implementieren, indem wir andere PHP -Funktionen kombinieren.
Angenommen, wir haben ein einfaches Array:
$array = [
'a' => 1,
'b' => 2,
'c' => 3
];
Wenn wir die Schlüsselwertpaare in diesem Array umkehren möchten, erhalten wir das folgende Ergebnis:
[
1 => 'a',
2 => 'b',
3 => 'c'
]
PHP liefert eine sehr bequeme Funktion array_flip () , die nur die Notwendigkeit einer Schlüssel-Wert-Paarinversion implementiert. Es tauscht die Schlüssel und Werte des Arrays aus, der ursprüngliche Wert wird zum neuen Schlüssel und der ursprüngliche Schlüssel wird zum neuen Wert.
$array = [
'a' => 1,
'b' => 2,
'c' => 3
];
$flipped = array_flip($array);
print_r($flipped);
Die Ausgabe wird sein:
Array
(
[1] => a
[2] => b
[3] => c
)
Obwohl Array_flip () das Problem der Schlüsselwerbungspaarinversion perfekt lösen kann, können wir Array_combine () verwenden, um eine individuellere Inversionslogik zu erreichen. Zum Beispiel können wir zuerst den Wert und die Taste des Arrays erhalten und dann über Array_Combine ein neues Array erstellen.
Hier erfahren Sie, wie Sie die Inversion von Schlüsselwertpaaren manuell mit Array_combine () manuell implementieren:
$array = [
'a' => 1,
'b' => 2,
'c' => 3
];
$keys = array_values($array); // Holen Sie sich den Wertteil des ursprünglichen Arrays
$values = array_keys($array); // Holen Sie sich den Schlüsselteil des ursprünglichen Arrays
$reversed = array_combine($keys, $values); // Tauschen Sie die Werte mit Schlüsseln aus
print_r($reversed);
Ausgangsergebnis:
Array
(
[1] => a
[2] => b
[3] => c
)
Werteinheitlichkeit : Array_combine () verlangt, dass der Wertteil und der Schlüsselteil des Arrays die gleiche Länge haben müssen. Wenn die beiden Arrays unterschiedliche Längen haben, wirft Array_combine () einen Fehler auf. Bei Verwendung von Array_combine () müssen Sie daher sicherstellen, dass die Größe des Arrays konsistent ist.
Werte können als Schlüssel verwendet werden : Der invertierte Wert wird als Schlüssel für das Neue Array verwendet, und in PHP sind die Schlüssel des Arrays eindeutig, sodass der Wert des ursprünglichen Arrays eindeutig sein muss. Wenn es doppelte Werte gibt, verliert Array_combine () einige Daten.
URL -Domänenname Ersatz : Wenn Sie URLs bearbeiten, müssen Sie den Domänennamen in der URL ersetzen, um ihn zu vervollständigen. Wenn der Domain -Name in der URL beispielsweise zu m66.net einheitlich sein muss, können Sie dies tun: