如何在 PHP 中从数组中删除空值
主题:PHP / MySQL
答案:使用 PHP array_filter()
函数
您可以简单地使用 PHP array_filter()
函数从数组中删除或过滤空值。 此函数通常使用回调函数过滤数组的值。
但是,如果没有指定回调函数,则数组的所有空条目都会被删除,例如 ""
(空字符串)、0
(0 作为整数)、0.0
(0 作为浮点数)、"0"
(0 作为字符串) , NULL
, FALSE
和 array()
(一个空数组)。 让我们尝试一个示例来了解它的实际工作原理:
示例
<?php
$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);
var_dump($array);
echo "<br>";
/* 过滤数组 */
$result = array_filter($array);
var_dump($result);
?>
在上面的示例中,值 0
和 "0"
也从数组中删除。 如果你想保留它们,你可以定义一个回调函数,如下例所示:
示例
<?php
$array = array("apple", "", 0, 2, null, -5, "0", "orange", 10, false);
var_dump($array);
echo "<br>";
/* 定义回调函数 */
function myFilter($var){
return ($var !== NULL && $var !== FALSE && $var !== "");
}
/* 过滤数组 */
$result = array_filter($array, "myFilter");
var_dump($result);
?>
为数组的每个元素调用回调函数 myFilter()
。 如果 myFilter()
返回 TRUE
,则该元素将附加到结果数组,否则不附加。
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: