You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PHP的array_filter保留0和false值仅忽略NULL?

解决PHP array_filter仅移除null值的问题

你遇到的问题根源是PHP的松散比较特性:!= null会把false、0这类“空值”也判定为和null相等,导致它们被错误过滤。要只移除null值,改用严格比较即可,以下是两种常用可行的写法:

方法一:使用严格不等于运算符!==

$filteredData = array_filter($data, fn($datum) => $datum !== null);

!==会同时检查值和类型,只有当元素确实是null类型时才会被过滤,false、0、空字符串等其他值都会被保留。

方法二:使用is_null()函数

$filteredData = array_filter($data, fn($datum) => !is_null($datum));

is_null()函数本身就是严格判断变量是否为null,逻辑和上面的写法完全一致,只是表达方式不同,按需选择即可。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 04:53:10