Heim >Backend-Entwicklung >PHP-Problem >So löschen Sie einen Nullwert im Array in PHP
PHP ist eine weit verbreitete Skriptsprache, die im Bereich der Webentwicklung weit verbreitet ist. In der Entwicklung müssen wir häufig Arrays bearbeiten. Wenn wir auf ein Array stoßen, das Nullwerte enthält, müssen wir es möglicherweise löschen. In diesem Artikel erfahren Sie, wie Sie mit PHP Nullwerte in einem Array löschen.
1. Durchlaufen und Löschen
Die einfachste Methode besteht darin, Nullwerte zu durchlaufen und zu löschen. Zuerst erstellen wir ein Array mit Nullwerten.
$arr = array(1, 2, null, 4, null, 6); print_r($arr);
Ausgabeergebnis:
Array ( [0] => 1 [1] => 2 [2] => [3] => 4 [4] => [5] => 6 )
Wir können das Array durch eine foreach-Schleife durchlaufen und unset() verwenden, um Elemente zu löschen, die Nullwerte enthalten.
foreach ($arr as $key => $value){ if(is_null($value)){ unset($arr[$key]); } } print_r($arr);
Ausgabeergebnis:
Array ( [0] => 1 [1] => 2 [3] => 4 [5] => 6 )
Verwenden Sie die Funktion unset(), um Elemente im Array zu löschen. Die Funktion is_null() wird verwendet, um zu bestimmen, ob es null ist, sodass Sie Nullelemente im Array schnell löschen können.
2. Funktion array_filter()
Eine andere Methode ist die Verwendung der in PHP integrierten Funktion array_filter(). Diese Funktion akzeptiert ein Array und gibt ein neues Array zurück. Sie filtert die Werte im ursprünglichen Array über die angegebene Rückruffunktion und gibt das neue Array zurück. Wenn die Rückruffunktion „true“ zurückgibt, bleibt das Element erhalten, und wenn sie „false“ zurückgibt, wird das Element gelöscht.
Daher können wir eine anonyme Funktion erstellen, um zu bestimmen, ob das Element null ist, und die Funktion array_filter() zum Filtern verwenden.
$arr = array(1, 2, null, 4, null, 6); $new_arr = array_filter($arr, function($value){ return $value !== null; }); print_r($new_arr);
Ausgabeergebnis:
Array ( [0] => 1 [1] => 2 [3] => 4 [5] => 6 )
3. Funktion array_diff()
Sie können die Funktion array_diff() auch verwenden, um Array-Differenzoperationen durchzuführen, um Nullwertelemente aus dem ursprünglichen Array zu löschen. Diese Methode erfordert eine Differenzoperation zwischen dem ursprünglichen Array und einem Array, das nur Nullwerte enthält. Das Ergebnis ist ein neues Array, das keine Nullwerte enthält.
$arr = array(1, 2, null, 4, null, 6); $null_arr = array(null); $new_arr = array_diff($arr, $null_arr); print_r($new_arr);
Ausgabeergebnis:
Array ( [0] => 1 [1] => 2 [3] => 4 [5] => 6 )
4. Funktion array_map()
Schließlich können wir die Funktion array_map() verwenden, um Array-Nullwerte zu filtern. Diese Funktion akzeptiert ein Array und gibt ein neues Array zurück. Die Werte im ursprünglichen Array werden über die angegebene Rückruffunktion verarbeitet und das neue Array zurückgegeben.
Verwenden Sie die Funktion array_map(), um Nullwerte in beliebige Werte umzuwandeln und diese dann herauszufiltern. Hier konvertieren wir den Nullwert in einen leeren String und filtern ihn dann.
$arr = array(1, 2, null, 4, null, 6); $new_arr = array_map(function($value){ return $value ?? ''; }, $arr); print_r($new_arr);
Ausgabeergebnis:
Array ( [0] => 1 [1] => 2 [2] => [3] => 4 [4] => [5] => 6 )
Verwenden Sie den Operator ??, um den Nullwert in eine leere Zeichenfolge umzuwandeln, und verwenden Sie dann die Funktion array_filter() zum Filtern, um ein neues Array zu erhalten, das keine Nullwerte enthält.
In diesem Artikel werden vier Methoden zum Löschen von Nullwerten in PHP-Arrays vorgestellt, nämlich die Traversal-Löschung, die Funktion array_filter(), die Funktion array_diff() und die Funktion array_map(). Für unterschiedliche Szenarien eignen sich unterschiedliche Methoden. Bei der Entwicklung können Sie je nach tatsächlicher Situation die für Sie geeignete Methode auswählen.
Das obige ist der detaillierte Inhalt vonSo löschen Sie einen Nullwert im Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!