Q:

$x = ((!y) && (y)) Вопрос с собеседования

Вопрос с собеседования:

Возможно ли вычислить значение $x при любых известных значениях $y?
$x = ((!$y) && ($y))
Возможно ли, чтобы выражение вернуло true?
Что будет, если вместо $y подставить массив?

A:

Возможно. В любом случае сравнение что-то вернёт.
Операнды друг к другу обратны (т. е. если один вернёт false, то ! обратит в true), а && возвращает true только если оба вернут true, так что нет.
Хотя может есть особые виды извращения/баги.
Пустой обратится в false, с элементами - в true. Из правила выше понятно что в $x вернётся только false.

