In der PHP-Entwicklung müssen wir häufig Array-Daten verarbeiten, und das Löschen von Nullwerten ist eine häufige Aufgabe. Ein Nullwert kann sich auf eine leere Zeichenfolge, einen Nullwert oder einen undefinierten Wert beziehen. In diesem Artikel erfahren Sie, wie Sie mithilfe von PHP-Funktionen Nullwerte aus einem Array löschen.
1. PHP-Funktion array_filter()
PHP stellt eine array_filter()-Funktion bereit, die ein Array filtern und ein neues gefiltertes Array zurückgeben kann. Sie können eine Rückruffunktion übergeben, um zu bestimmen, welche Werte beibehalten werden.
Wenn Sie die Funktion array_filter() verwenden, um leere Werte in einem Array zu löschen, müssen Sie die folgenden zwei Punkte beachten:
function removeEmptyValues($value) { return !empty($value) || $value === 0; } $array = array("", "test", null, " ", 0, "0"); $result = array_filter($array, "removeEmptyValues"); print_r($result);
Das Ausgabeergebnis ist:
Array ( [1] => test [3] => [4] => 0 [5] => 0 )
Die Funktion „removeEmptyValues()“ bestimmt hier, ob das Array-Element eine leere Zeichenfolge ist. Nullwert oder 0 Bestimmt, ob das Element beibehalten werden soll. Beachten Sie, dass Sie === anstelle von == verwenden müssen, um 0 und die leere Zeichenfolge genau zu vergleichen.
function removeEmptyValues($key, $value) { return !empty($value) || $value === 0; } $array = array("name" => "", "age" => null, "sex" => "male"); $result = array_filter($array, "removeEmptyValues", ARRAY_FILTER_USE_BOTH); print_r($result);
Das Ausgabeergebnis lautet:
Array ( [sex] => male )
In der Rückruffunktion haben wir zwei Parameter übergeben $key und $value, $key repräsentiert den Schlüsselnamen des aktuellen Array-Elements, $value repräsentiert den Wert des Array-Elements. In diesem Fall müssen wir den dritten Parameter ARRAY_FILTER_USE_BOTH hinzufügen, was bedeutet, dass die Rückruffunktion verwendet wird, um den Schlüsselnamen und den Schlüsselwert zu übergeben.
2. Verwenden Sie foreach()
Zusätzlich zur Funktion array_filter() können wir auch die foreach()-Schleife verwenden, um Nullwerte im Array zu löschen. Diese Methode durchläuft die Array-Elemente nacheinander, um die Nullwerte zu löschen. Der folgende Code zeigt, wie man mit foreach() Nullwerte in einem Array löscht:
$array = array("", "test", null, " ", 0, "0"); $result = array(); foreach ($array as $value) { if (!empty($value) || $value === 0) { $result[] = $value; } } print_r($result);
Das Ausgabeergebnis ist:
Array ( [0] => test [1] => [2] => 0 [3] => 0 )
Diese Methode durchläuft die Array-Elemente und verwendet eine if-Anweisung, um zu bestimmen, ob das Element ist null, und wenn es nicht ist null Die Werte werden dem neuen Array hinzugefügt.
3. Verwenden Sie die Funktion array_map()
PHP bietet auch eine weitere Funktion array_map(), die die angegebene Rückruffunktion auf jedes Element im Array anwenden und ein neues Array zurückgeben kann. Wir können Nullwerte aus dem Array löschen, indem wir eine Rückruffunktion übergeben. Das Folgende ist ein Beispielcode, der die Funktion array_map() verwendet, um Array-Nullwerte zu löschen:
function removeEmptyValues($value) { return !empty($value) || $value === 0; } $array = array("", "test", null, " ", 0, "0"); $result = array_map("removeEmptyValues", $array); print_r($result);
Das Ausgabeergebnis ist:
Array ( [0] => [1] => test [2] => [3] => [4] => [5] => 0 )
Beachten Sie, dass bei Verwendung der Funktion array_map() zum Löschen von Array-Nullwerten die Indexschlüsselnamen in Das ursprüngliche Array wird nicht beibehalten, daher bleibt nur der Wert des Elements im Ausgabeergebnis erhalten.
Zusammenfassung
In der PHP-Entwicklung müssen wir häufig Nullwerte in Arrays löschen. In diesem Artikel werden drei gängige Methoden vorgestellt: die Verwendung von array_filter(), der foreach()-Schleife und der Funktion array_map(). Unter diesen ist die Funktion array_filter() die am häufigsten verwendete der drei Methoden, und die Rückruffunktion kann an unterschiedliche Anforderungen angepasst werden. Wenn Sie die Schlüsselnamen des ursprünglichen Arrays beibehalten müssen, können Sie den dritten Parameter von array_filter() oder eine benutzerdefinierte Rückruffunktion verwenden und den Schlüsselnamen und den Schlüsselwert als zwei Parameter übergeben. Wenn Sie die Schlüsselnamen und Indizes des ursprünglichen Arrays beibehalten müssen, können Sie mit foreach() das Array durchlaufen und nacheinander feststellen, ob die Elemente null sind. Wenn Sie die Funktion array_map() zum Löschen von Nullwerten verwenden, beachten Sie, dass die Indexschlüsselnamen des Ausgabearrays möglicherweise zurückgesetzt werden. Wenn Sie also die Schlüsselnamen des ursprünglichen Arrays beibehalten müssen, müssen Sie dies separat behandeln.
Das obige ist der detaillierte Inhalt vonSo löschen Sie Nullwerte im PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!