Есть ли короткий способ написать это? Как показано ниже:Сравните все значения массива с одной строкой - PHP
<?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";
}
?>
Я пытался писать его как показано в первом примере, но он не работает
'if (count (array_filter ($ valid)) == count ($ valid)) {echo 'Все значения Truthy'; } else {echo 'хотя бы одно из значений false'; } ' –
' array_filter', вероятно, медленнее ответа 'array_unique' ниже. – twentylemon
@mark использовать 'array_unique' и равный ему 1, сделает код намного быстрее и намного меньше кода используется вообще – Buddhi741