Php 检查数组的数组是否为空
我得到了以下数组:Php 检查数组的数组是否为空,php,arrays,Php,Arrays,我得到了以下数组: array(1) { [0]=> array(2) { ["name"]=> string(0) "" ["fistname"]=> NULL } } 如果不是空的,我想处理它。我试过: if (!empty($data->User)) { echo 'filled'; } else { echo 'empty'; } 但这又回来了 填满 在Marcin Orlowski回答后编辑 $user
array(1) {
[0]=>
array(2) {
["name"]=>
string(0) ""
["fistname"]=>
NULL
}
}
如果不是空的,我想处理它。我试过:
if (!empty($data->User)) {
echo 'filled';
} else {
echo 'empty';
}
但这又回来了
填满
在Marcin Orlowski回答后编辑
$user = $data->User();
var_dump($user);
if (!empty($user)) {
echo 'filled';
} else {
echo 'empty';
}
显示:
array(1) {
[0]=>
array(2) {
["name"]=>
string(0) ""
["fistname"]=>
NULL
}
}
您的问题不清楚,所以我假设您的
User()
返回您显示的数组。如果是这样,您将错过以下选项:
确定变量是否为空。如果变量不存在或其值等于FALSE,则该变量被视为空
以下值被视为空:
array()(空数组)
这两种情况在你的情况下都不存在,所以一切都是不可能的。出于调试目的,您还可以var_dump()
查看返回的数据:
$user = $data->User();
var_dump($user);
if (!empty($user) {
echo 'filled';
} else {
echo 'empty';
}
据我所知,在您的代码中,$data对象的函数User()返回您提到的数组。如果是这种情况,那么$data->User()(即您的数组)肯定是非空的,因为它有一个条目,即数组
array(2) {
["name"]=>
string(0) ""
["fistname"]=>
NULL
}
如果要检查“name”和“firstname”属性是否为空,则需要一段如下代码:
if (!empty($data->User[0]['name']) or !empty($data->User[0]['firstname'])) {
echo 'filled';
} else {
echo 'empty';
}
或者最好在类中检查它,例如,在类中为$data编写一段这样的代码
public function isEmptyUser() {
return (empty($this->name) && empty($this->firstname));
}
什么是$data->User()
?