Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查数组是否有一个或多个空值_Php_Arrays - Fatal编程技术网

Php 检查数组是否有一个或多个空值

Php 检查数组是否有一个或多个空值,php,arrays,Php,Arrays,我有数组$var,如果数组中的一个或多个元素为空(我的意思是字符串为“”),我想返回FALSE 我认为array\u filter()是更好的方法,但我不知道如何以这种方式进行过滤 如何执行此操作?如果您希望使用一个函数来检查数组中的项是否为false,您可以编写自己的函数,该函数执行以下操作: if (array_search('', $var)!==false) return FALSE; 遍历数组 对于每个周期,检查当前项目值是否为“” 如果该值不是“”,则运行下一个循环 如果值为“”

我有数组$var,如果数组中的一个或多个元素为空(我的意思是字符串为“”),我想返回FALSE

我认为
array\u filter()
是更好的方法,但我不知道如何以这种方式进行过滤


如何执行此操作?

如果您希望使用一个函数来检查数组中的项是否为false,您可以编写自己的函数,该函数执行以下操作:

if (array_search('', $var)!==false) return FALSE;
  • 遍历数组
  • 对于每个周期,检查当前项目值是否为“”
  • 如果该值不是“”,则运行下一个循环
  • 如果值为“”,则通过返回False中断循环
array_过滤器接受一个数组和一个函数,然后遍历该数组并发送指定函数中的每个项。如果函数返回true,则项保留在数组中,如果函数返回false,则项从数组中取出

你看到区别了吧

函数emptyElementExists() 示例:

$var = array( "text1", "", "text3" );
var_dump( emptyElementExists($var) );
输出:

$var = array( "text1", "", "text3" );
var_dump( emptyElementExists($var) );
布尔(真)

参考


或明确地,如@Ancide所建议:

$var = array("lorem", "ipsum", "dolor");
$emptyVar = array("lorem", "", "dolor");

function has_empty($array) {
    foreach ($array as $value) {
        if ($value == "")
            return true;
    }
    return false;
}

echo '$var has ' . (has_empty($var) ? 'empty values' : 'no empty values');
echo '<br>';
echo '$emptyVar has ' . (has_empty($emptyVar) ? 'empty values' : 'no empty values');
$var=array(“lorem”、“ipsum”、“dolor”);
$emptyVar=数组(“lorem”、“dolor”);
函数具有空($array){
foreach($array作为$value){
如果($value==“”)
返回true;
}
返回false;
}
回显“$var has”。(has_empty($var)‘空值’:‘无空值’);
回声“
”; 回显“$emptyVar has”。(has_empty($emptyVar)?“空值”:“无空值”);

编辑:

$var = array( "text1", "", "text3" );
var_dump( emptyElementExists($var) );

起初我不确定
array\u search()
是否在第一次出现时停止。验证后,似乎
array\u search()
方法应该更快(更短)。因此,我认为@Wh1T3h4Ck5的版本更可取。

如果您真的想检查是否存在一个或多个空字符串,它很简单。你可以

in_array('', $var, true);
如果至少任何一个数组值中存在空字符串(
'
),则返回true,否则返回false。 你也可以参考类似的问题,

或在数组(“,$ur\u数组)中使用