Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Filter (), um ganzzahlige Begriffe herauszufiltern

Verwenden Sie Array_Filter (), um ganzzahlige Begriffe herauszufiltern

M66 2025-06-04

In PHP ist Array_filter () eine sehr praktische Funktion, die Elemente in einem Array mit Anpassung filtern kann. Durch die Übergabe einer Rückruffunktion können wir Elemente aus dem Array basierend auf bestimmten logischen Bedingungen aufbewahren oder entfernen. In diesem Artikel werden wir vorstellen, wie Sie Array_filter () verwenden, um ein Array herauszufiltern.

Die grundlegende Syntax von Array_filter ()

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array
  • $ Array : Das ursprüngliche Array, das gefiltert werden muss.

  • $ Callback : Eine Rückruffunktion, mit der bestimmt wird, ob jedes Element beibehalten wird. Rückgabe true Mittel reserviert und falsche Mittelkeulen.

  • $ modus : Optionaler Parameter zur Steuerung der Parameter (Schlüssel, Wert oder Schlüsselwert) der eingehenden Rückruffunktion.

Wenn $ Callback nicht bereitgestellt wird, werden Elemente mit einem Wert von False standardmäßig gefiltert (z. B. 0 , leere Zeichenfolge, Null usw.).

Beispiel: Filtern Sie ganzzahlige Begriffe in einem Array heraus

Angenommen, wir haben ein Array, das verschiedene Arten von Daten enthält, z. B. Zeichenfolgen, schwimmende Punktzahlen, booleale Werte und Ganzzahlen. Wir wollen nur Ganzzahlen behalten.

 <?php
$data = [1, '2', 3.5, 4, 'hello', true, 0, null, 7, '8'];

$integers = array_filter($data, function ($item) {
    return is_int($item);
});

print_r($integers);
?>

Ausgangsergebnis:

 Array
(
    [0] => 1
    [3] => 4
    [8] => 7
)

Wie Sie sehen können, bleiben nur die echten Ganzzahlen im Array erhalten, während '2' (String) oder 3.5 (schwimmende Punktnummern) herausgefiltert werden.

Tipps: Handhabung von Schlüsselindizes beibehalten

Standardmäßig behält Array_filter () den Schlüsselindex des ursprünglichen Arrays bei. Wenn Sie sich umformen möchten, können Sie Array_Values ​​() verwenden:

 $integers = array_values(array_filter($data, function ($item) {
    return is_int($item);
}));

Praktische Anwendungsszenarien

Diese Filtermethode ist in der tatsächlichen Entwicklung sehr nützlich. Wenn Sie beispielsweise ein gemischtes Datenarray von einer Benutzereingabe oder einer Remote -API erhalten, können Sie Array_filter () verwenden, um es schnell zu verarbeiten, wenn Sie Validierung oder Datenreinigung eingeben müssen.

Zum Beispiel:

 // Simulieren Sie Daten, die von Remote -Schnittstellen erhalten wurden
$response = json_decode(file_get_contents("https://api.m66.net/data"), true);

$cleaned = array_filter($response['values'], function ($value) {
    return is_int($value);
});

Nachdem wir die Daten von https://api.m66.net/data erhalten haben, verwenden wir in diesem Code Array_Filter (), um Nicht-Speisewerte zu beseitigen.

Abschluss

Array_filter () ist eine leistungsstarke Array -Verarbeitungsfunktion in PHP. Es kann verschiedene benutzerdefinierte Filterlogik mit Rückruffunktionen implementieren. Dadurch können wir die erforderlichen Elemente aus dem Array leicht extrahieren, z. B. Ganzzahlen, Zeichenfolgen oder Daten, die mit bestimmten Regeln entsprechen.

Denken Sie daran, dass die Verwendung mit integrierter Typ-Erkennungsfunktion wie is_int () Ihre Daten sauberer und zuverlässiger machen und Ihren Code auch eleganter machen kann.

Wenn Sie mehr mit Arrays zu tun haben, sind Funktionen wie Array_Map () und Array_Reduce () auch einen Versuch wert!