In PHP -Array -Operationen sind Array_flip () und Array_Values () zwei sehr leistungsstarke Funktionen. Wenn Sie mit Arrays zu tun haben, die verwirrend, unregelmäßig sind oder rekonstruiert werden müssen, kann die Kombination dieser beiden Funktionen unerwartete Effizienzgewinne erzielen.
In diesem Artikel wird vorgestellt, wie diese beiden Funktionen in Kombination verwendet werden, um die Struktur und das Format von PHP -Arrays schnell zu rekonstruieren.
Der Zweck von array_flip () besteht darin, die Schlüssel und Werte des Arrays auszutauschen . Dies ist in einigen Szenarien sehr nützlich, in denen Tasten nach Werten gefunden werden müssen.
$input = ['a' => 'apple', 'b' => 'banana'];
$result = array_flip($input);
// Ergebnis: ['apple' => 'a', 'banana' => 'b']
Hinweis: Wenn der Wert des Arrays nicht eindeutig ist, überschreibt Array_flip () den Schlüssel, der dem doppelten Wert entspricht.
Array_Values () soll das Indexarray wieder aufbauen und den Wert des Arrays als Indexschlüssel ab 0 nummerieren.
$input = ['first' => 'apple', 'second' => 'banana'];
$result = array_values($input);
// Ergebnis: ['apple', 'banana']
Wenn wir Indexe deduplizieren, die Array -Formate neu ordnen und standardisieren müssen, ist es sehr bequem, Array_flip () und Array_Values () zu kombinieren.
Angenommen, Sie erhalten eine Reihe von Tags aus dem Benutzerformular:
$tags = ['php', 'html', 'css', 'php', 'javascript', 'html'];
Sie hoffen:
Duplikate entfernen
Tastenwerte neu anordnen, um von 0 zu erhöhen
Sie können das tun:
$uniqueTags = array_values(array_flip(array_flip($tags)));
Das erste Array_flip ($ tags) : Verwenden Sie das Tag als Schlüssel, um doppelte Werte zu entfernen.
Das zweite Array_flip (...) : stellt den ursprünglichen "Wert" wieder her, wurde aber dedupliziert.
The Last Array_values (...) : Rekonstruieren Sie den Schlüssel zu einem numerischen Index.
Endergebnis:
['php', 'html', 'css', 'javascript']
Sauber, Deduplizierung, ordentliche Indexierung!
Angenommen, Sie erhalten eine Reihe von Optionen aus dem URL -Parameter, zum Beispiel:
https://m66.net/filter.php?tags[]=php&tags[]=php&tags[]=mysql&tags[]=laravel
Der Verarbeitungscode ist wie folgt:
$tags = $_GET['tags'] ?? [];
$cleanTags = array_values(array_flip(array_flip($tags)));
Dies stellt sicher, dass Ihre $ cleanTags -Variable Deduplizierungs -Tags enthält und sich in einem Standard -Index -Array befindet.
Die Verwendung von Array_flip () kann die Einzigartigkeit von Schlüssel geschickt nutzen, um die Deduplizierung zu erreichen.
Verwenden Sie dann Array_Values () , um es in ein sauberes Indexarray wiederherzustellen.
In Kombination wird es sehr effizient, doppelte Daten zu behandeln und Array -Strukturen zu formatieren.
Besonders geeignet für die Verwendung in Szenarien wie Verarbeitung von Benutzereingaben, Konfigurationsoptionen, Beschriftungsdaten usw.
Die Kombination dieser beiden Funktionen macht Ihren Code nicht nur prägnanter, sondern verringert auch die Abhängigkeit von Funktionen wie foreach oder in_array () , wodurch die Leistung und Lesbarkeit verbessert werden.