$marks=array(
"mohammad" => array (
"physics" => array([0]=>35,[1]=>45)
"maths" => 30,
"chemistry" => 39
),
"qadir" => array (
"physics" => array(),
"maths" => 32,
"chemistry" => 29
),
"zara" => array (
"physics" => array([0]=>),
"maths" => 22,
"chemistry" => 39
)
);
在上面的数组中,"physics"元素在"mohammad"中有一个值数组,在"qadir"中有一个空数组,在"Zara"中索引[0]没有值。
我们如何检查"物理"是空数组或空值的第一个索引?
我在if循环中尝试了如下:
$name ='qadir'
if(!empty($marks[$name]['physics'])){//do here}
上面的代码工作良好的'qadir',但不是'Zara'。我希望同时检查这两种情况。
使用array_filter()。这将从数组中删除所有空值,从而正确检查空条件。比如:
$filteredArray = array_filter($marks[$name]['physics']);
if(!empty($filteredArray)) {//do here}
试试这个:
if (!empty($marks[$name]['physics']) || !isset($marks[$name]['physics'][0])) {
在数组
中使用下面的代码进行空检查if(!empty($marks[$name]['physics']){
if(!in_array(null, $haystack, true)){
//do here
}
}