Heim > Artikel > Backend-Entwicklung > So entfernen Sie leere Elemente aus einem Array in PHP
Arrays sind im PHP-Entwicklungsprozess eine häufig verwendete Datenstruktur. In praktischen Anwendungen ist es häufig erforderlich, leere Elemente im Array zu löschen, um das Array besser verarbeiten und nutzen zu können und die Entwicklungseffizienz zu verbessern.
Also, wie entferne ich leere Array-Elemente in PHP?
1. Verwenden Sie die foreach-Schleife zum Durchlaufen des Arrays und löschen Sie dann die Array-Elemente, indem Sie beurteilen, ob sie leer sind. Das Beispiel lautet wie folgt:
$arr = array('a', '', 'c', 'd', ''); foreach ($arr as $key => $value) { if (empty($value)) { unset($arr[$key]); } } print_r($arr);
Verwenden Sie im obigen Code foreach-Schleife Durchläuft alle Elemente im Array $arr
und ermittelt, ob $value
leer ist. Wenn es leer ist, verwenden Sie unset-Funktion zum Löschen des Elements aus dem Array.
2. Verwenden Sie die Funktion array_filter. foreach
循环遍历 $arr
数组中的所有元素,判断 $value
是否为空,如果为空,使用 unset
函数从数组中删除该元素。
二、使用 array_filter 函数
另一种常见的方法是使用 array_filter
函数。它可以接受一个数组作为参数,并返回一个新的数组,该数组中不含有值为 FALSE
、NULL
、''
或者 []
的元素,它的语法如下:
$new_arr = array_filter($arr); print_r($new_arr);
三、使用 array_values 函数
使用 array_filter
函数删除掉空元素后,返回的数组可能会存在键名不连续的情况;为了让键名连续,我们可以使用 array_values
函数,该函数的作用是返回数组中所有的值并重新建立连续的整数索引,例如:
$new_arr = array_values(array_filter($arr)); print_r($new_arr);
上述代码中,我们使用 array_filter
删除掉空元素,然后使用 array_values
函数重新建立连续的整数索引。
四、使用 array_reduce 函数
如果数组中含有空数组元素,则使用 array_filter
函数仍然无法将这些元素删除;此时我们可以使用 array_reduce
函数,遍历数组,并使用条件运算符删除掉空元素,示例如下:
$arr = array('a', '', 'c', 'd', array()); $new_arr = array_reduce($arr, function($result, $item) { return is_array($item) || $item !== '' ? array_merge($result, array($item)) : $result; }, array()); print_r($new_arr);
上述代码中,使用 array_reduce
函数将数组 $arr
遍历一遍,使用条件运算符删除掉空元素。
五、总结
在 PHP 中剔除空数组元素可以使用多种方法,如使用 foreach
循环遍历、array_filter
函数、array_values
函数、array_reduce
array_filter
. Es kann ein Array als Parameter akzeptieren und ein neues Array zurückgeben, das keine Werte wie FALSE
, NULL
, ''
oder enthält []
-Element, seine Syntax lautet wie folgt: 🎜rrreee🎜3. Verwenden Sie die Funktion array_values 🎜🎜Nachdem Sie die Funktion array_filter
verwendet haben, um leere Elemente zu löschen, wird das Array zurückgegeben kann Schlüssel haben. Wenn die Namen diskontinuierlich sind, können wir die Funktion array_values
verwenden. Die Funktion dieser Funktion besteht darin, alle Werte im Array zurückzugeben und kontinuierliche Ganzzahlindizes wiederherstellen, zum Beispiel: 🎜rrreee🎜Oben Im Code verwenden wir array_filter
, um leere Elemente zu löschen, und verwenden dann die Funktion array_values
, um Erstellen Sie kontinuierliche Integer-Indizes. 🎜🎜4. Verwenden Sie die Funktion array_reduce. 🎜🎜Wenn das Array leere Array-Elemente enthält, kann die Funktion array_filter
diese Elemente zu diesem Zeitpunkt noch nicht löschen , Durchlaufen Sie das Array und verwenden Sie bedingte Operatoren, um leere Elemente zu löschen. Das Beispiel lautet wie folgt: 🎜rrreee🎜Verwenden Sie im obigen Code die Funktion array_reduce
, um das Array $arr
zu durchlaufen > und verwenden Sie das Symbol für bedingte Operationen, um leere Elemente zu löschen. 🎜🎜5. Zusammenfassung🎜🎜Es gibt viele Methoden, um leere Array-Elemente in PHP zu entfernen, z. B. die Verwendung von foreach
-Schleifendurchlauf, array_filter
-Funktion, array_values
-Funktion, array_reduce
-Funktion usw.; die spezifische Methode, die Sie wählen sollten, hängt von der tatsächlichen Situation und Ihren persönlichen Gewohnheiten ab. Unabhängig davon, welche Methode verwendet wird, müssen Sie deren Funktionsprinzipien verstehen und auf Änderungen am ursprünglichen Array achten, um eine Beeinträchtigung nachfolgender Berechnungen und Verwendungen zu vermeiden. 🎜Das obige ist der detaillierte Inhalt vonSo entfernen Sie leere Elemente aus einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!