In PHP ist Array_flip () eine sehr nützliche Funktion, die Schlüssel und Werte eines Arrays austauscht. Dies bedeutet, dass das Element ursprünglich als Schlüssel zu einem Wert wird und das Element ursprünglich als Wert zu einem Schlüssel wird. Diese Funktion ist sehr geeignet für das Erstellen von Backooking-Tischen. Die Back-Looking-Tabelle ist eine Datenstruktur, die durch Werte nach dem entsprechenden Schlüssel sucht, der normalerweise verwendet wird, um den entsprechenden Schlüssel schnell auf einem bestimmten Wert zu finden.
Die Funktion array_flip () nimmt ein Array als Parameter und gibt ein neues Array zurück, wobei die Taste des ursprünglichen Arrays zum Wert wird und der Wert des ursprünglichen Arrays zum Schlüssel wird. Die grundlegende Syntax ist wie folgt:
array array_flip ( array $array )
Parameter :
$ Array : Das Array, das umgekehrt werden soll.
Rückgabewert : Gibt ein Array zurück, das die invertierten Schlüssel und Werte enthält.
Schauen wir uns ein einfaches Beispiel an, indem wir Array_flip () verwenden, um eine Rück -Lookup -Tabelle zu erstellen.
<?php
// Originalarray
$originalArray = [
'apple' => 'red',
'banana' => 'yellow',
'cherry' => 'red',
'orange' => 'orange'
];
// verwenden array_flip() Erstellen Sie eine Rück -Lookup -Tabelle
$flippedArray = array_flip($originalArray);
// Rückgängigentabelle ausgeben
print_r($flippedArray);
?>
Array
(
[red] => cherry
[yellow] => banana
[orange] => orange
)
In diesem Beispiel haben wir eine Reihe von Obstfarben. Array_flip () umdreht dieses Array und macht die Farbe zu einem Schlüssel und der Name der Frucht wird zum Wert. Beachten Sie, dass Array_flip () ihren letzten Wert als Ergebnis nimmt. Zum Beispiel entspricht 'rot' Kirsche , nicht Apple , da Kirsche der letzte Wert ist.
Wenn wir Daten aus der Datenbank extrahieren, erhalten wir normalerweise ein assoziatives Array. Zum Beispiel müssen wir möglicherweise die entsprechende ID basierend auf einem bestimmten Wert (z. B. einem Benutzernamen) finden. Wenn wir diese Daten invertieren, können wir Tasten (IDs) schneller nach Werten finden.
<?php
// Benutzername und BenutzerIDZuordnung von
$userArray = [
'alice' => 101,
'bob' => 102,
'charlie' => 103
];
// Erstellen Sie eine Rück -Lookup -Tabelle
$reversedUserArray = array_flip($userArray);
// verwenden反查表快速查找
echo "AlicevonIDJa: " . $reversedUserArray['101']; // Ausgabe:AlicevonIDJa: 101
?>
Eine Back-Looking-Tabelle kann normalerweise die Suchffizienz verbessern, da sie die Beziehung zwischen dem Wert und dem Schlüssel umdreht. Durch das Back-Shooking der Tabelle können wir vermeiden, das gesamte Array zum Suchen zu durchqueren und den entsprechenden Schlüssel direkt über den Wert zu erhalten.
Array_flip () funktioniert nur mit Arrays mit eindeutigen Werten. Wenn es im Array doppelte Werte gibt, behält das umgekehrte Ergebnis nur den Schlüssel des letzten Wertes bei. Zum Beispiel:
<?php
$originalArray = [
'a' => 1,
'b' => 2,
'c' => 1
];
$flippedArray = array_flip($originalArray);
print_r($flippedArray);
?>
Ausgangsergebnis:
Array
(
[1] => c
[2] => b
)
In diesem Beispiel erscheint der Wert 1 zweimal, aber C wird nur als Schlüssel im umgekehrten Array beibehalten, da er der letzte Schlüssel ist, der 1 entspricht.
Array_flip () wandelt den Wert in einen Schlüssel um. Da die Schlüssel eines PHP -Arrays Strings oder Ganzzahlen sind, werden die Werte im Array in Datentypen konvertiert, die als Schlüssel geeignet sind. Wenn der Wert im Array nicht als Rechtsschlüssel verwendet werden kann, kann dies zu einem Fehler oder einer Ausnahme führen.
array_flip () ist eine einfache und leistungsstarke Funktion, die uns dabei helfen kann, Arrays schnell umzukehren, um eine inverse Lookup -Tabelle zu erstellen. Dies ist sehr nützlich, um die Schlüssel, die den Werten in einigen Szenarien entsprechen, schnell zu finden. Es ist zu beachten, dass bei Verwendung von Array_flip () sicherstellen, dass die Werte im Array eindeutig sind, oder verstehen Sie, dass der letzte Schlüssel den vorherigen Schlüssel überschreibt, wenn die Werte wiederholt werden.
Mit dieser Methode können Sie problemlos effiziente Back-Check-Vorgänge implementieren und Ihren Code prägnanter und effizienter gestalten.