PHP检查数组?

问题描述:

我只包含布尔数组:PHP检查数组?

$l = array(0=>true,2=>false,3=>true,4=>true,5=>true); 

我想要实现这个伪代码:

If at least one element of $l is false: 
    echo 'Can not do this'; 
else: 
    echo 'Can do this'; 
+0

它应该是_if的至少一种元素..._? in_array: – 2011-12-29 08:48:51

+0

:http://php.net/manual/en/function.in-array.php – 2011-12-29 09:09:40

假设你有一个拼写错误和正确的形式是

如果数组$ L至少一个元素是假

然后你只需要迭代这个数组并在数组中的第一个false值上失败。我不会给你答案,因为它是作业,解决方案非常简单。

查看PHP手册中的if声明以及foreach声明。这是解决您的问题所需的全部。

你可以尝试使用array_reduce功能。像这样的东西:错误的元素。

array_reduce($data, function($v, $w){ if ($w == false) { $v++; } return $v; return 1; } , 0); 

回调函数计数数组中的假元素数。 但我与array_search或in_array意思之前的变体是更好的。尽量不要使用php的循环,而使用标准的php函数,因为它使用本地c代码,所以速度要快得多。

$missing_permission = array_search(false, $l); 
if($missing_permission !== false) { 
    echo 'No way!'; 
} else { 
    echo 'OK!'; 
} 

循环遍历数组。如果遇到错误元素,请停止并打印“无法执行此操作”。如果遇到数组的末尾,请停止并打印“可以做到这一点”。

您可以简单地使用php的in_array函数,该函数检查数组中的给定值。

$l = array(0=> true, 2 => false, 3 => true, 4 => true, 5 => true); 

if (in_array(FALSE, $l)) { 
    echo "can not do this"; 
} else { 
    echo "can do this"; 
} 

实施例:http://www.ideone.com/yv3Yf