Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der grundlegenden Verwendung von Array_Filter ()

Detaillierte Erläuterung der grundlegenden Verwendung von Array_Filter ()

M66 2025-05-14

Bei der PHP -Entwicklung werden Arrays sehr häufig verwendete Datenstrukturen. Beim Betrieb von Arrays müssen wir häufig das Array filtern, z. B. das Entfernen von Nullwerten, die Aufbewahrung von Elementen, die bestimmte Bedingungen erfüllen usw. Die Funktion array_filter () ist ein sehr praktisches Tool, das speziell dafür entwickelt wurde.

In diesem Artikel wird die grundlegende Verwendung von Array_filter () , der Bedeutung von Parametern und einigen gemeinsamen Nutzungsszenarien im Detail erläutert, um die praktische Anwendung dieser Funktion schnell zu beherrschen.

1. Einführung in die Funktion array_filter ()

Array_Filter () ist eine der integrierten Funktionen von PHP. Sein Zweck ist es, eine Rückruffunktion zu verwenden, um jedes Element im Array zu filtern, wodurch nur Elemente mit dem Rückgabewert true bleiben. Seine Syntax ist wie folgt:

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array

Parameterbeschreibung:

  • $ Array : Das ursprüngliche Array zum Filter.

  • $ callback (optional): Eine Rückruffunktion, mit der festgestellt wird, ob ein Element beibehalten wird. Wenn NULL , sind die Standard -Entfernungswerte falsch , null , leerer String '' , Nummer 0, leeres Array [] und andere "falsche Werte".

  • $ modus (PHP 7.4+): Gibt an, ob der an die Rückruffunktion übergebene Inhalt ein Wert-, Schlüssel- oder Schlüsselwertpaar ist.

2. Beispiele für Grundnutzung

1. Entfernen Sie "falsche Werte" aus dem Array

Dies ist die häufigste Möglichkeit, es zu verwenden, geeignet für die Reinigung von Formulardaten oder Konfigurationselementen usw.:

 $data = ["apple", "", null, 0, "banana", false];

$filtered = array_filter($data);

print_r($filtered);

Ausgangsergebnis:

 Array
(
    [0] => apple
    [4] => banana
)

Wenn keine Rückruffunktion übergeben wird, wird Array_filter () standardmäßig "Falschwert" entfernen.

2. Verwenden Sie Rückruffunktionen, um die Filterlogik anzupassen

Zum Beispiel halten wir Strings nur mit einer Länge von mehr als 5 im Array:

 $words = ["apple", "strawberry", "banana", "kiwi"];

$filtered = array_filter($words, function($word) {
    return strlen($word) > 5;
});

print_r($filtered);

Ausgabe:

 Array
(
    [1] => strawberry
    [2] => banana
)

3. Filter mit dem Schlüsselnamen (mit Array_filter_USE_KEY)

Ab PHP 7.4 können Sie den Filterinhalt über den dritten Parameter $ -Modus steuern:

 $data = [
    'a' => 100,
    'b' => 200,
    'x' => 300,
];

$filtered = array_filter($data, function($key) {
    return $key === 'x';
}, ARRAY_FILTER_USE_KEY);

print_r($filtered);

Ausgabe:

 Array
(
    [x] => 300
)

3.. Array_filter () gemeinsame Anwendungsszenarien

1. Reinigen Sie die Formulardaten

 $_POST = [
    'username' => 'alice',
    'email' => '',
    'age' => null,
];

$clean_data = array_filter($_POST);

Dies kann schnell Nullfelder entfernen und nur gültige Daten werden erhalten.

2. Filterbenutzerdaten, die bestimmte Kriterien entsprechen

 $users = [
    ['name' => 'Tom', 'active' => true],
    ['name' => 'Jerry', 'active' => false],
    ['name' => 'Spike', 'active' => true],
];

$active_users = array_filter($users, function($user) {
    return $user['active'];
});

print_r($active_users);

3.. Filtere rechtliche Links in der URL -Liste dynamisch filtern

 $urls = [
    'https://m66.net/home',
    'invalid-url',
    'http://m66.net/contact',
    '',
];

$valid_urls = array_filter($urls, function($url) {
    return filter_var($url, FILTER_VALIDATE_URL);
});

print_r($valid_urls);

4.. Dinge zu beachten

  • Nach Verwendung von Array_filter () wird der Schlüsselname des ursprünglichen Arrays nicht zurückgesetzt (wenn Sie es zurücksetzen müssen, können Sie ihn mit Array_Values ​​() verwenden).

  • Wenn Sie nach Keyname filtern müssen, stellen Sie sicher, dass PHP -Version> = 7.4 array_filter_use_key verwendet werden.

  • Die Rückruffunktion sollte True oder False zurückgeben, um festzustellen, ob das Element beibehalten wird.