WEB 教程
实践 示例
HTML 参考手册
CSS 参考手册
PHP 参考手册

如何在 PHP 中从数组中删除空值

主题:PHP / MySQL上一页|下一页

答案:使用 PHP array_filter() 函数

您可以简单地使用 PHP array_filter() 函数从数组中删除或过滤空值。 此函数通常使用回调函数过滤数组的值。

但是,如果没有指定回调函数,则数组的所有空条目都会被删除,例如 ""(空字符串)、0(0 作为整数)、0.0(0 作为浮点数)、"0"(0 作为字符串) , NULL, FALSEarray()(一个空数组)。 让我们尝试一个示例来了解它的实际工作原理:

<?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 相关问题解答

以下是与此主题相关的更多常见问题解答:

Advertisements