如果数组项为空


If array item is empty

我有这个数组:

Array ( [0] => test1 [1] => test2 [2] => test3 [3] => [4] => test4 )

我想检查是否有任何数组项目为空,如您所见,我的数组中有空项目:[3] => [4] => test4

所以我写了这个条件:

           foreach ($array1 as $value) {
              if(!isset($value)) {
                echo "EMPTY";
              } else {
                echo "Not empty";
             }
          }

但它呼应Not empty每次,一个项目必须有empty

感谢您的帮助!

你必须像这样检查:

foreach ($array1 as $value) {
    if ($value) {
        echo "Not empty";
    } else {
        echo "empty";
    }
}

当有一个空数组或"或零值或空时,它将显示"空"。希望这有帮助。

PHP 为你的任务提供了 empty() 函数。 empty() 将确定变量是否为空。

 if(empty($value)) {
        echo "EMPTY";
    } else {
        echo "Not empty";
    }

这里有一个很好的比较研究

代替isset您可能必须使用 is_null .

对于您的查询,我可以建议以下将是解决方案,如果值是字符串

$array1 = array(0 => 'test1', 1 => 'test2', 2 => 'test3', 3 => '',4 => 'test4');
foreach ($array1 as $value) {
              if($value =="") {
                echo "EMPTY";
              } else {
                echo "Not empty";
             }
          }

有很好的链接可以帮助您了解差异

请使用以下代码更改您的代码。

 foreach ($array1 as $value) {    
      if(!empty($value)) {
            echo "Not empty";
      } else {
            echo "EMPTY";
      }
 }

注意:isset()函数不检查空值。它只是检查变量是否设置。