Как объяснить столь странное (во всяком случае для меня, как для Perl'иста) поведение PHP?
~$ php <<<'<?php $a=""; $b=($a || 0); print ">>$b<<\n"; ?>'
>><<
~$ perl -e '$a=""; $b=($a || 0); print ">>$b<<\n"'
>>0<<
При этом:
~$ php <<<'<?php $a=""; if ($a == false) print "hello\n"; ?>'
hello
Почему конструкция ($a || 0) на PHP даёт не предсказуемый результат 0, а пустую строку?
Спасибо!