Задать вопрос
@max_1O

Булевы операции в php?

Здравствуйте. Я прочитал что && это логическая and но они ведут себя не одинаково. Вот пример ниже:

$bool = true and false; var_dump($bool);
$bool = true && false; var_dump($bool);


Первый var_dump вернёт bool(true) в то время как второй bool(false). Объясните пожалуйста, почему так?
  • Вопрос задан
  • 355 просмотров
Подписаться 2 Простой 3 комментария
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Читаем документацию:
Смысл двух разных вариантов для операторов "and" и "or" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).

Открываем таблицу приоритетов, ищем нужные операторы.
&& - 15 строка, = - 19 строка, and - 23 строка.
Переписываем команды с учётом приоритета:
$bool = true and false; => ($bool = true) and false;
$bool = true && false; => $bool = (true && false);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы