In PHP ist die Funktion array_filter () eine sehr praktische Funktion, mit der Elemente in einem Array gefiltert werden können. Wir können diese Funktion verwenden, um Elemente herauszufiltern, die bestimmte Kriterien aus dem Array erfüllen. In diesem Artikel wird vorgestellt, wie die Funktion array_filter () verwendet wird, um alle Elemente zu filtern, die größer als der angegebene Wert sind.
Die Funktion array_filter () iteriert über das Array und filtert Elemente heraus, die die Kriterien basierend auf der angegebenen Rückruffunktion erfüllen. Wenn die Rückruffunktion true zurückgibt, wird das Element im Neuarray beibehalten. Wenn FALSE zurückgegeben wird, wird das Element herausgefiltert.
<?php
$array = [1, 2, 3, 4, 5, 6];
$result = array_filter($array, function($value) {
return $value > 3;
});
print_r($result);
?>
Im obigen Code verwenden wir eine Rückruffunktion, um zu überprüfen, ob jedes Element im Array größer als 3 ist. Schließlich enthält das $ -Re -Ergebnis -Array alle Elemente von mehr als 3.
Angenommen, wir haben ein Array mit verschiedenen Ganzzahlen und möchten alle Elemente herausfiltern, die größer als der angegebene Wert sind (z. B. 10). Es kann über den folgenden Code implementiert werden:
<?php
// Angenommen, wir haben ein Array, das mehrere ganze Zahlen enthält
$array = [5, 12, 15, 3, 10, 18, 7];
// Filterbedingungen festlegen:Größer als der angegebene Wert(10)
$threshold = 10;
$result = array_filter($array, function($value) use ($threshold) {
return $value > $threshold;
});
// Ausgangsgefilterte Ergebnisse
print_r($result);
?>
Nach dem Ausführen dieses Codes ist die Ausgabe:
Array
(
[1] => 12
[2] => 15
[5] => 18
)
Im obigen Code übergeben wir $ Threshold in eine anonyme Funktion über das Schlüsselwort verwenden und geben so die Filterbedingungen dynamisch an. In diesem Beispiel filtert die Funktion array_filter () erfolgreich Elemente mehr als 10.
Es ist zu beachten, dass Array_Filter () ein neues Array zurückgibt, das alle Elemente enthält, die den Filterbedingungen erfüllen, und der Schlüsselwert des Arrays kann sich ändern. Standardmäßig hält Array_filter () die Schlüssel des ursprünglichen Arrays. Wenn Sie die Schlüssel im Array neu indeminieren möchten, können Sie die Funktion array_values () verwenden:
<?php
// Holen Sie sich das gefilterte Array,und Index die Arrayschlüssel erneut
$result = array_values(array_filter($array, function($value) use ($threshold) {
return $value > $threshold;
}));
print_r($result);
?>
In einigen Szenarien müssen Sie möglicherweise ein Array mit URLs verarbeiten. Angenommen, wir haben ein Array mit mehreren URLs und möchten alle Links mit dem Domänennamen m66.net herausfiltern. Sie können dies wie folgt tun:
<?php
$urls = [
"http://example.com/page1",
"http://m66.net/page2",
"https://m66.net/page3",
"http://anotherdomain.com/page4"
];
$result = array_filter($urls, function($url) {
return strpos($url, "m66.net") !== false;
});
print_r($result);
?>
In diesem Beispiel filtert die Funktion array_filter () alle URLs, die den Domänennamen m66.net enthalten. Nach dem Laufen wird das Ergebnis sein:
Array
(
[1] => http://m66.net/page2
[2] => https://m66.net/page3
)
In den Beispielen in diesem Artikel sollten Sie beherrschen, wie Sie die Funktion array_filter () verwenden sollen, um Array -Elemente herauszufiltern, die bestimmte Kriterien erfüllen. Unabhängig davon, ob es sich um Verarbeitungsnummern oder Zeichenfolgen handelt, ist Array_filter () ein sehr leistungsstarkes Werkzeug. Wenn Sie Elemente in einem Array filtern müssen, können Sie entsprechende Rückruffunktionen entsprechend Ihren Anforderungen zur Implementierung schreiben.
Wenn Sie Fragen haben oder detailliertere Hilfe benötigen, können Sie mich gerne kontaktieren!