PHP 检查数组是否为空的问题

我有以下代码

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。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...