Php检查数组?

时间:2011-12-29 08:45:05

标签: 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';

5 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

你可以简单地使用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

答案 2 :(得分:1)

您可能会尝试使用array_reduce函数。像这样:虚假元素。

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

回调函数计算数组中错误元素的数量。 但是我使用array_search或in_array之前的变量更好。尽量不要使用标准php函数的php循环,因为它使用本机c代码要快得多。

答案 3 :(得分:0)

循环遍历数组。如果遇到虚假元素,请停止并打印“无法执行此操作”。如果您遇到阵列的末尾,请停止并打印“可以执行此操作”。

答案 4 :(得分:0)

假设您有拼写错误且形式正确

  

如果$ l中的 一个 元素为false

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

查看PHP手册中的if语句以及foreach语句。这就是解决问题所需要的全部。