假设我有一个这样的数组:
$Data = array(
'User1' => array(
'FirstName' => 'John',
'MiddleName' => '',
'LastName' => 'Doe',
),
'User2' => array(
'FirstName' => 'John',
'MiddleName' => '',
'LastName' => 'Smith',
),
);
我想检查一下,数组中是否没有数据集具有 MiddleName 的值。
我想问一下,PHP中是否有内置函数/单行程序来做这样的事情:
IF( AllEmpty($Data["MiddleName"]) ) { Do something }
非常感谢!
答案 0 :(得分:0)
如果你坚持单线,可以这样做:
if (!array_filter(array_column($Data, 'MiddleName'))) {
echo 'Nothing here';
}
工作原理:
array_column
获取 'MiddleName' 的所有值作为数组 ['', '']
array_filter
(不带任何附加参数)返回一个删除了任何假值的数组,结果是一个空数组,因为空字符串被认为是假的array_filter(array_column($Data, 'MiddleName')) === []
,甚至可以写成empty(array_filter...
)< /li>
答案 1 :(得分:0)
使用循环检查每个元素
foreach($Data as $x => $value) {
if(!middlename_check($value['MiddleName'])){
echo 'MiddleName is empty!';
}
// Do something
}
function middlename_check($middlename) {
if($middlename != '') {
return true;
}
return false;
}