Filtern Sie Arrays mit PHP array_filter()

WBOY
Freigeben: 2023-06-27 13:54:01
Original
1577 Leute haben es durchsucht

In PHP kann uns die Funktion array_filter() dabei helfen, Elemente in einem Array schnell zu filtern. In diesem Artikel werden die Verwendung dieser Funktion und zugehörige Beispiele vorgestellt. Die grundlegende Syntax der Funktion

array_filter() lautet:

array_filter(array $array [, callable $callback [, int $flag ]])
Nach dem Login kopieren

wobei der Parameter $array das zu filternde Array ist, der Parameter $callback eine optionale Rückruffunktion und der Parameter $flag ein optionales Flag zur Bestimmung ist Wie wird der Rückgabewert der Callback-Funktion behandelt?

Lassen Sie uns diese Parameter einzeln erklären:

  1. $array: Das zu filternde Array muss ein Array-Typ sein.
  2. $callback: Optionale Callback-Funktion. Wenn nicht angegeben, werden Elemente mit dem Wert „false“ automatisch herausgefiltert. Das Format der Rückruffunktion ist Funktion ($value), wobei $value der Wert des Array-Elements ist. Wenn die Callback-Funktion „true“ zurückgibt, bleibt das Element erhalten, andernfalls wird das Element entfernt.
  3. $flag: wird verwendet, um anzugeben, wie mit dem Rückgabewert der Rückruffunktion umgegangen werden soll. Standardmäßig ignoriert die Funktion array_filter() Elemente mit einem Rückgabewert von false, null oder einer leeren Zeichenfolge. Wenn der Parameter $flag als ARRAY_FILTER_USE_BOTH angegeben ist, wird der Schlüsselname an die Rückruffunktion übergeben.

Schauen wir uns einige Beispiele an:

  1. Leere Werte und falsche Werte im Array herausfiltern:
$array = array('foo', false, -1, null, '', 0);

$result = array_filter($array);

print_r($result);
Nach dem Login kopieren

Ausgabeergebnisse:

Array
(
    [0] => foo
    [2] => -1
)
Nach dem Login kopieren
  1. Zahlen unter 10 im Array herausfiltern Array:
$array = array(1, 20, 3, 40, 5, 60, 7, 80, 9);

$result = array_filter($array, function($value) {
    return $value > 10;
});

print_r($result);
Nach dem Login kopieren

Ausgabeergebnis:

Array
(
    [1] => 20
    [3] => 40
    [5] => 60
    [7] => 80
)
Nach dem Login kopieren
  1. Alle ungeraden Zahlen im Array herausfiltern:
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

$result = array_filter($array, function($value) {
    return $value % 2 == 0;
});

print_r($result);
Nach dem Login kopieren

Ausgabeergebnis:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
Nach dem Login kopieren
  1. Elemente mit geraden Schlüsselnamen im Array behalten:
$array = array(0 => 'foo', 1 => 'bar', 2 => 'baz', 3 => 'qux');

$result = array_filter($array, function($value, $key) {
    return $key % 2 == 0;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);
Nach dem Login kopieren

Ausgabeergebnis:

Array
(
    [0] => foo
    [2] => baz
)
Nach dem Login kopieren

Zusammenfassend lässt sich sagen, dass die Funktion array_filter() eine sehr praktische Funktion ist, die uns helfen kann, Elemente in einem Array schnell zu filtern und die Komplexität und Arbeitsbelastung des Codes zu reduzieren. Wir können Rückruffunktionen frei verwenden, um verschiedene Filterfunktionen entsprechend unseren eigenen Anforderungen zu implementieren.

Das obige ist der detaillierte Inhalt vonFiltern Sie Arrays mit PHP array_filter(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!