有没有简短的方法来写这个?如下所示:
<?php
$true=1;
$false=0;
$valid = array (
"part1" => $true,
"part2" => $true,
"part3" => $true
);
if($valid == $true){
echo "All the values are True!";
}else{
echo "At list one of the values is False";
}
?>
而不是:
<?php
if($valid['part1'] == $true && $valid['part2'] == $true && $valid['part3'] == $true{
echo "All the values are True!";
}else{
echo "At list one of the values is False";
}
?>
我已经尝试过编写它,如第一个例子中所示,但它没有工作
答案 0 :(得分:4)
if(!in_array($false,$valid){
echo "All the values are True!";
}else{
echo "At list one of the values is False";
}
答案 1 :(得分:1)
您可以使用array_keys&#39;搜索与您的变量匹配的值的第二个选项,并将结果数与数组中元素的总数进行比较:
if (count(array_keys($valid, $true)) == count($valid)) {
echo "All the values are True!";
} else {
echo "At leastone of the values is False";
}
答案 2 :(得分:0)
它的数组不是你不能的变量=== it
你必须使用
if (count(array_unique($allvalues)) === 1 && end($allvalues) === 'true') {
echo "All the values are True!";
}else{
echo "At list one of tha values is false";
}
答案 3 :(得分:0)
你可以这样做:
raw_input