我有以下代码
<?php
$error = array();
$error[\'something\'] = false;
$error[\'somethingelse\'] = false;
if (!empty($error))
{
echo \'Error\';
}
else
{
echo \'No errors\';
}
?>
但是,empty($error)仍然会返回true。 这是为什么呢?
原因很简单,因为数组中有两个元素,即使两个元素的值为false, 这绝不意味着数组是空的。作为快速解决方法,您可以执行以下操作:
$errors = array_filter($errors);
if (!empty($errors)) {
}
array_filter()函数的默认功能是删除数组中所有值为null,0,''或false的值。
在您的特定情况下,如果至少有一个元素甚至具有“空”值,则empty()构造将始终返回true。
继续阅读与本文标签相同的文章
-
“缺芯少屏”现状或将改善,静电消除及洁净室工程需求增长
2026-05-15栏目: 教程
-
得助智能:企业如何利用数据做运营
2026-05-15栏目: 教程
-
“护网杯”2019年网络安全防护赛暨第二届工业互联网安全大赛圆满结束
2026-05-15栏目: 教程
-
来了,来了,它真的来了,12米超大幅面金属激光切割机出货了!
2026-05-15栏目: 教程
-
你的脸还要吗?机器人公司全球买人脸肖像权,报酬高达百万
2026-05-15栏目: 教程
