Heim > Artikel > Backend-Entwicklung > So entfernen Sie Nullwerte aus einem PHP-Array
Bei der PHP-Programmierung treten häufig Situationen auf, in denen Nullwerte in Arrays entfernt werden müssen. Diese Situation kann in Szenarien wie Datenbereinigung und Datenfilterung auftreten. Es gibt mehrere Möglichkeiten, dies in PHP zu erreichen, und wir werden diese im Folgenden im Detail zusammen mit ihren Vor- und Nachteilen besprechen.
Methode 1: Verwenden Sie die Funktion array_filter().
Die Funktion array_filter() kann ein neues Array zurückgeben, in dem Elemente herausgefiltert werden, die die Bedingungen der benutzerdefinierten Funktion nicht erfüllen. Wir können eine benutzerdefinierte Funktion erstellen, um zu bestimmen, ob ein Element null ist.
Der Beispielcode lautet wie folgt:
$array = array("foo", "", "bar", null, "baz"); $new_array = array_filter($array, function($item) { return !empty($item); });
In diesem Beispiel enthält das Array $array
leere Zeichenfolgen, Nullwerte und Nicht- Wenn wir leere Elemente verwenden, erhalten wir über die Funktion array_filter()
ein neues Array, das keine Nullwerte enthält, nämlich $new_array
. $array
数组中包含了空字符串、null 值和非空元素,通过 array_filter()
函数,我们得到了一个不包含空值的新数组,即 $new_array
。
需要注意的是, array_filter()
函数默认会去掉以下值:
如果需要去掉其他值,可以通过自定义函数传递第二个参数进行过滤。
优点:array_filter()
函数使用简单,可以自定义过滤条件。
缺点:相比其他方法,此方法性能较差,中大型数组尤其如此。
方法二:使用 foreach 循环去除空值
此方法较为直接,可以通过 foreach 循环遍历数组,然后利用 PHP 的弱类型特性(空值会被自动转换成 false)来判断并去除空值。
示例代码如下:
$array = array("foo", "", "bar", null, "baz"); foreach($array as $key => $value) { if(!$value) { unset($array[$key]); } }
该例中,我们遍历了 $array
数组,如果元素的值为 false,即被判定为空值,则使用 unset()
函数移除该元素。
优点:相对于 array_filter()
函数,此方法对于大规模数组性能更优。
缺点:需要手动添加条件判断,代码不够简洁。
方法三:使用 array_diff() 函数
array_diff()
函数用于计算数组的值的差集。我们可以使用它来移除空值。
示例代码如下:
$array = array("foo", "", "bar", null, "baz"); $new_array = array_diff($array, array("", null));
该例中,我们使用 array_diff()
函数计算 $array
数组和一个包含空字符串和 null 值的数组的差集,从而得到一个新数组 $new_array
array_filter()
standardmäßig die folgenden Werte entfernt:
array_filter()
ist einfach zu verwenden und kann Filterbedingungen anpassen. Nachteile: Im Vergleich zu anderen Methoden weist diese Methode eine schlechte Leistung auf, insbesondere bei mittleren und großen Arrays. Methode 2: Verwenden Sie die foreach-Schleife, um Nullwerte zu entfernen.#🎜🎜##🎜🎜#Diese Methode ist direkter. Sie können das Array durch die foreach-Schleife durchlaufen und dann die schwache Typfunktion von PHP verwenden (Nullwerte werden automatisch in „falsch“ umgewandelt), um Nullwerte zu ermitteln und zu entfernen. #🎜🎜##🎜🎜#Der Beispielcode lautet wie folgt: #🎜🎜#rrreee#🎜🎜#In diesem Beispiel durchlaufen wir das Array $array
, wenn der Wert des Elements falsch ist Wenn der Wert leer ist, verwenden Sie die Funktion unset()
, um das Element zu entfernen. #🎜🎜##🎜🎜#Vorteile: Im Vergleich zur Funktion array_filter()
bietet diese Methode eine bessere Leistung für große Arrays. #🎜🎜##🎜🎜#Nachteile: Die bedingte Beurteilung muss manuell hinzugefügt werden und der Code ist nicht präzise genug. #🎜🎜##🎜🎜#Methode 3: Verwenden Sie die Funktion array_diff() #🎜🎜##🎜🎜#array_diff()
Die Funktion wird verwendet, um den Differenzsatz von Array-Werten zu berechnen. Damit können wir Nullwerte entfernen. #🎜🎜##🎜🎜#Der Beispielcode lautet wie folgt: #🎜🎜#rrreee#🎜🎜#In diesem Beispiel verwenden wir die Funktion array_diff()
, um das $array zu berechnen
Array-Summe Die Differenz zwischen einem Array, das eine leere Zeichenfolge enthält, und einem Nullwert, was zu einem neuen Array $new_array
führt. Wir können sehen, dass diese Methode mehrere Werte gleichzeitig filtern kann. #🎜🎜##🎜🎜#Es ist zu beachten, dass diese Methode nur hartcodierte Nullwerte filtern und die Filterbedingungen nicht anpassen kann. #🎜🎜##🎜🎜#Vorteile: Der Code ist einfach und kann mehrere Werte gleichzeitig filtern. #🎜🎜##🎜🎜#Nachteile: Filterbedingungen können nicht angepasst werden. #🎜🎜##🎜🎜# Zusammenfassend empfehlen wir für große Arrays die Verwendung von Methode zwei; für kleine Arrays können Sie Methode eins oder Methode drei wählen. #🎜🎜#Das obige ist der detaillierte Inhalt vonSo entfernen Sie Nullwerte aus einem PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!