In PHP sind Array_flip () und Array_filter () zwei sehr nützliche Array -Betriebsfunktionen. Array_flip () wird verwendet, um Schlüssel und Werte in einem Array auszutauschen, während Array_filter () verwendet wird, um Elemente in einem Array basierend auf den Bedingungen zu filtern. Wenn wir diese beiden Funktionen kombinieren, können wir komplexere Operationen auf dem Array ausführen, z.
In diesem Artikel wird erläutert, wie diese beiden Funktionen verwendet werden, um bestimmte Elemente in einem Array umzusetzen und zu filtern. Lassen Sie uns diesen Prozess mit einem konkreten Beispiel verstehen.
Die Funktion array_flip () tauscht Schlüssel und Werte in einem Array aus. Nach dem Swap wird der ursprüngliche Array -Wert zum Schlüssel, und der ursprüngliche Schlüssel wird zum Wert. Der folgende Code zeigt beispielsweise, wie die Funktion array_flip () verwendet wird, um ein einfaches Array zu umkehren:
<?php
// Originalarray
$array = array(
"apple" => "fruit",
"carrot" => "vegetable",
"banana" => "fruit",
);
// Das Array umkehren
$flipped_array = array_flip($array);
// Drucken Sie das umgekehrte Array aus
print_r($flipped_array);
?>
Das Ausgangsergebnis ist:
Array
(
[fruit] => banana
[vegetable] => carrot
)
Wie Sie sehen können, verwandelt die Funktion array_flip () den ursprünglichen Schlüssel ( Apfel , Karotte , Banane ) in einen neuen Wert und den ursprünglichen Wert ( Obst , Gemüse ) in einen neuen Schlüssel.
Die Funktion von Array_Filter () filtert Elemente in einem Array basierend auf angegebenen Bedingungen. Es empfängt zwei Parameter: das zu filterne Array und eine Rückruffunktion. Die Rückruffunktion gibt True oder False zurück, um festzustellen, ob das entsprechende Element beibehalten wird.
Hier ist ein Beispiel, das zeigt, wie man Array_filter () verwendet, um Elemente mit einem Wert von "Frucht" herauszufiltern:
<?php
// Originalarray
$array = array(
"apple" => "fruit",
"carrot" => "vegetable",
"banana" => "fruit",
);
// verwenden array_filter Der Filterwert ist "fruit" Elemente
$filtered_array = array_filter($array, function($value) {
return $value == "fruit";
});
// Drucken gefiltertes Array
print_r($filtered_array);
?>
Das Ausgangsergebnis ist:
Array
(
[apple] => fruit
[banana] => fruit
)
Wie Sie sehen können, behält die Funktion array_filter () alle Elemente mit dem Wert "Frucht" und löscht andere Elemente.
Jetzt können wir die Funktionen array_flip () und array_filter () in Kombination verwenden. Angenommen, wir haben ein Array, das mehrere Schlüsselwertpaare enthält, und wir möchten das Array umkehren und Elemente mit dem Wert "Frucht" herausfiltern.
<?php
// Originalarray
$array = array(
"apple" => "fruit",
"carrot" => "vegetable",
"banana" => "fruit",
"tomato" => "vegetable",
);
// 先Das Array umkehren
$flipped_array = array_flip($array);
// 然后verwenden array_filter Filtern Sie den Schlüssel als "fruit" Elemente
$filtered_array = array_filter($flipped_array, function($key) {
return $key == "fruit";
});
// Druckergebnisse
print_r($filtered_array);
?>
Das Ausgangsergebnis ist:
Array
(
[apple] => fruit
[banana] => fruit
)
In diesem Beispiel verwenden wir zunächst die Funktion array_flip () , um das Array umzusetzen, und dann verwenden wir die Elemente, deren Schlüssel nach Inversion "Frucht" ist , dann die Elemente herauszufiltern. Auf diese Weise können wir ein Array bekommen, das den Kriterien entspricht.
Durch Kombinieren von Array_flip () und Array_filter () können wir komplexe Array -Operationen implementieren. Zunächst werden die Schlüsselwertpaare des Arrays über Array_flip () umgekehrt, und dann werden die Elemente, die bestimmte Bedingungen erfüllen, mit Array_filter () herausgefiltert. Solche Methoden eignen sich sehr für den Einsatz, wenn Sie mit Arrays mit komplexen Strukturen umgehen.