如何在多维数组中同时检查空数组和无值键

  • 本文关键字:数组 php multidimensional-array
  • 更新时间 :
  • 英文 :

$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
   }
}

相关内容

  • 没有找到相关文章