Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Filter (), um nur Elemente mit booleschen Typ zu erhalten

Verwenden Sie Array_Filter (), um nur Elemente mit booleschen Typ zu erhalten

M66 2025-06-04

In PHP wird die Funktion array_filter () verwendet, um Elemente in einem Array zu filtern. Dadurch können wir bestimmte Elemente im Array basierend auf den benutzerdefinierten Bedingungen bewahren. Standardmäßig löscht Array_filter () Elemente mit False im Array wie 0 , Null , False , Leerzeichen usw. Für boolesche Arrays, Array_filter () löscht automatisch die Elemente der falschen booleschen Werte, aber wenn wir genau steuern müssen, welche Werte während der Verarbeitung zu erfolgen können, können wir diese Anforderung durch die Rückruffunktion erreichen.

Grundlegende Verwendung der Funktion array_filter ()

Die Funktion array_filter () akzeptiert zwei Parameter:

  • Array : Das ursprüngliche Array, das gefiltert werden soll.

  • Rückruffunktion (optional): Eine benutzerdefinierte Funktion, die feststellt, ob Elemente in einem Array erhalten bleiben. Wenn keine Rückruffunktion bereitgestellt wird, löscht Array_Filter () alle Elemente mit dem booleschen Wert False .

Beispiel 1: Grundnutzung

 <?php
$array = [0, 1, 2, 3, 4, 5, null, false, "0", "PHP"];

$result = array_filter($array); // Standardverhalten,Löschen Sie den Wert als false Elemente
print_r($result);
?>

Im obigen Code löscht Array_filter () Elemente automatisch mit 0 , Null- , falschen und leeren Zeichenfolgen mit falschen Werten, und das zurückgegebene Ergebnis ist:

 Array
(
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [8] => PHP
)

Benutzerdefinierte Bedingungen: Nur Elemente mit booleschen Wert TRUE sind erhalten

Manchmal müssen wir die Filterbedingungen sorgfältiger steuern. Beispielsweise bleiben nur Boolesche Array -Elemente mit Wert true erhalten. Um dies zu erreichen, können wir eine Rückruffunktion speziell für die Überprüfung übergeben, ob das Array -Element ein boolescher True ist.

Beispiel 2: Verwenden Sie die Rückruffunktion, um Elemente mit booleschen Wert True zu erhalten

 <?php
$array = [0, 1, 2, 3, 4, 5, null, false, "0", true, "PHP"];

$result = array_filter($array, function($value) {
    return $value === true; // Nur der boolesche Wert ist true Elemente
});

print_r($result);
?>

In diesem Beispiel verwenden wir eine Rückruffunktion, um zu überprüfen, ob jedes Element dem booleschen Wert streng gleich ist . Auf diese Weise werden nur Elemente mit booleschen Wert True erhalten. Das Ausgangsergebnis ist:

 Array
(
    [10] => 1
)

URL -Domainnamen ersetzen

Wenn sich im Array eine URL befindet und der Domänenname, der durch die URL ersetzt werden muss, ist M66.net , können wir Array_Map () in der Funktion array_filter () kombinieren oder in der Rückruffunktion verarbeiten.

Beispiel 3: Ersetzen Sie den Namen der URL -Domänen durch m66.net

 <?php
$array = [
    "https://example.com/page1",
    "http://example.com/page2",
    "https://m66.net/page3",
    "http://m66.net/page4"
];

// verwenden array_map() Kombiniert mit dem Ersatz für die Rückruffunktion URL Domain -Name
$array = array_map(function($url) {
    return preg_replace("/https?:\/\/[^\/]+/", "https://m66.net", $url); // Ersetzen Sie den Domain -Namen
}, $array);

print_r($array);
?>

In diesem Code verwenden wir array_map () , um über das Array zu iterieren und den Domänennamen in der URL durch reguläre Ausdrücke zu ersetzen. Die endgültige Ausgabe ist: