Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Загадка про PHP. Номер D.

Задача для тех, кто не понимает разницы между строковыми («and») и C-шными (&&) булевыми операторами в PHP. Дано:

var_dump (2 || 2 and 0, 2 || 2 && 0)

Что увидим в результате?

5 комментариев
Algis 2003

да, раньше случалось споткнутся :/

Улитка 2003

Будет false, true.
Никогда не напарывался, так как использую строго Си-подобные операторы || и &&.
(конструкцию or die() я не люблю)

Евгений Степанищев (bolknote.ru) 2003

Комментарий для Улитка:

а конструкцию isset($something) or $something = 0?

Улитка 2003

Не, я больше if-ами пользуюсь.
<code>
if( !isset( $vara ) ) {
  trigger_error( «vara isn’t set!», E_USER_ERROR );
}
</code>

Евгений Степанищев (bolknote.ru) 2003

Комментарий для Улитка:

Дело вкуса. Вот я не люблю и не буду ставить {} вокруг одиночной конструкции, а в PHP style guide рекомендуют.