Порядок вычисления выражения

Whatsername

Новичок
Порядок вычисления выражения

Вот что-то не могу воткнуть, как выполняется это выражение.
PHP:
$row[1] = ($row[1] =! '') ? '<h3>' . $row[1] . '</h3>' : '';
Если $row[1] не пустая строка - заключить его в теги заголовка. Но вместо заголовка выводится "1". Преобразованное значение "true"?

При этом
PHP:
$row[1] = $row[1] ? '<h3>' . $row[1] . '</h3>' : '';
отрабатывает ожидаемым образом. Выводит заголовок благодаря автоматическому преобразованию типа.

Почему же первое выражение работает неправильно?
 

master_x

Pitavale XXI wieku
зачем вообще тут сравнивать с пустой строкой?

-~{}~ 02.09.05 14:36:
 

Whatsername

Новичок
master_x, просто это теоретический вопрос.
python, спасиб. А что это за оператор такой "=!"? В документации его нет, а ошибка синтаксиса не выскакивает... странно.
 

Alive4U

Новичок
а это два оператора - привоение (=) и отрицание. вот откуда у тебя 1ца выводилась
 
Сверху