In PHP ist Array_filter () eine sehr praktische Funktion, mit der Arrays basierend auf einer bestimmten Rückruffunktion filterten. In der Regel wird es verwendet, um Elemente in einem Array zu löschen, die den Kriterien nicht erfüllen. Heute werden wir uns mit der Implementierung mehrerer Filter mit Array_filter () in PHP eintauchen.
Schauen wir uns zunächst die grundlegende Verwendung der Funktion array_filter () an. Array_filter () empfängt zwei Parameter: ein Array und eine Rückruffunktion. Die Rückruffunktion beurteilt jedes Element im Array, und nur Elemente, die die Bedingungen erfüllen, werden beibehalten.
<?php
$array = [1, 2, 3, 4, 5];
$result = array_filter($array, function($value) {
return $value > 2;
});
print_r($result);
?>
Das Ausgangsergebnis ist:
Array
(
[2] => 3
[3] => 4
[4] => 5
)
In diesem Beispiel behält Array_filter () Elemente mehr als 2 gemäß den Urteilsbedingungen der Rückruffunktion bei.
Wenn Sie mehrere Filterbedingungen implementieren möchten, z. B. Filterelemente größer als 2 und sogar Zahlen sind, können wir die && (und) logischen Operatoren in der Rückruffunktion verwenden, um mehrere Bedingungen zu kombinieren.
<?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, function($value) {
return $value > 2 && $value % 2 === 0;
});
print_r($result);
?>
Das Ausgangsergebnis ist:
Array
(
[3] => 4
[5] => 6
[7] => 8
)
In diesem Beispiel filtert Array_filter () alle Elemente, die größer als 2 sind und gleichmäßig sind.
Wenn Ihre Filterkriterien komplex sind oder die Filterlogik wiederverwenden möchten, können Sie mehrere Filterkriterien in eine benutzerdefinierte Funktion einkapseln.
<?php
function filterConditions($value) {
return $value > 2 && $value % 2 === 0 && $value < 8;
}
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, 'filterConditions');
print_r($result);
?>
Das Ausgangsergebnis ist:
Array
(
[3] => 4
[5] => 6
)
In diesem Beispiel extrahieren wir die Filterlogik in die Funktion filterConditions () und rufen sie in array_filter () auf. Dies macht den Code nicht nur klarer, sondern erleichtert auch die Wiederverwendung von Logik.
Manchmal müssen wir möglicherweise andere Array -Funktionen kombinieren, um komplexere Filtervorgänge auszufüllen. Angenommen, Sie müssen Elemente in einem Array herausfiltern , das mehrere Kriterien erfüllt , und die gefilterten Ergebnisse in einer bestimmten Reihenfolge zurückgeben.
<?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$array = array_map(function($value) {
return $value * 2; // Multiplizieren Sie alle Elemente mit 2
}, $array);
$result = array_filter($array, function($value) {
return $value > 5; // Filtern größer als 5 Elemente
});
print_r($result);
?>
Das Ausgangsergebnis ist:
Array
(
[2] => 6
[4] => 10
[6] => 14
[7] => 16
)
In diesem Beispiel verwenden wir zuerst Array_map () , um Elemente in das Array zu konvertieren, und dann Array_Filter (), um Elemente mehr als 5 herauszufiltern.
Array_Filter () ist ein sehr leistungsstarkes Tool in PHP, das uns helfen kann, Elemente in einem Array basierend auf bestimmten Bedingungen zu filtern. Bei Verwendung von Array_filter () können wir mehrere Bedingungen kombinieren und benutzerdefinierte Funktionen verwenden, um komplexere Filteranforderungen zu erfüllen. Darüber hinaus kann Array_filter () auch mit anderen Array -Funktionen verwendet werden, sodass es flexibler und effizienter für die Verarbeitung von Arrays.