Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie leere Elemente aus einem Array in PHP

So entfernen Sie leere Elemente aus einem Array in PHP

PHPz
PHPzOriginal
2023-04-23 17:48:29584Durchsuche

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 函数。它可以接受一个数组作为参数,并返回一个新的数组,该数组中不含有值为 FALSENULL'' 或者 [] 的元素,它的语法如下:

$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

Eine weitere gängige Methode ist die Verwendung der Funktion 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 $arrzu 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn