首頁 >後端開發 >php教程 >如何有效地從 PHP 陣列中刪除空元素?

如何有效地從 PHP 陣列中刪除空元素?

Patricia Arquette
Patricia Arquette原創
2024-12-29 01:11:11616瀏覽

How to Effectively Remove Empty Elements from a PHP Array?

如何刪除空數組元素

從 $linksArray 陣列中刪除空元素的程式碼未按預期工作。這是因為 unset($link) 僅刪除變數 $link 的引用,而不是陣列中的元素本身。

empty() 函數也不起作用,因為它檢查變數是否為空,不是陣列元素。

要從陣列中刪除空元素,可以使用 array_filter() 函數。 array_filter() 接受一個陣列和一個回呼函數作為參數。回呼函數應用於陣列的每個元素,如果回呼函數傳回 false,則該元素將從陣列中刪除。

在您的情況下,您可以使用以下程式碼從 $linksArray中刪除空元素:

$linksArray = array_filter($linksArray);

但是,如果您需要保留精確字串「0」的元素,則需要自訂回調:

// PHP 7.4 and later
print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== ''));

// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));

// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));

注意:如果刪除空元素後需要重新索引數組,請使用:

$linksArray = array_values(array_filter($linksArray));

以上是如何有效地從 PHP 陣列中刪除空元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn