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

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

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

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

17 августа 2003 11:56

Algis (инкогнито)
17 августа 2003, 15:58

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

Улитка (инкогнито)
17 августа 2003, 17:31

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

bolk (bolknote.ru)
17 августа 2003, 17:31, ответ предназначен Улитка

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

Улитка (инкогнито)
17 августа 2003, 17:51

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

bolk (bolknote.ru)
17 августа 2003, 17:51, ответ предназначен Улитка

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

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)