Проблема в том, что вы помещаете выражения в строки!
Ваши переменные $condition1
, $condition2
и $condition3
содержат строки, а не результат выражения, и то же самое относится к вашей переменной $condition
, которая будет выглядеть как 53==56||53==57||53==58
. Когда PHP оценивает строку, он считает ее true
, если она не пуста и не равна 0
, поэтому ваш скрипт выведет blah
.
Чтобы исправить это, вам просто нужно взять выражения из строк. Это должно выглядеть так:
$condition1 = 53 == 56; // false
$condition2 = 53 == 57; // false
$condition3 = 53 == 58; // false
$condition = $condition1 || $condition2 || $condition3; // false || false || false = false
if ($condition) {
echo 'blah';
} else {
echo 'foo'; // This will be output
}