echo
- это не функция, это языковая конструкция. Она ничего не возвращает. Другие void
функции всегда «возвращают» NULL
. Поэтому компилятор выдает ошибку unexpected T_ECHO
.
printf
, однако, является функцией и всегда возвращает 1
.
Например, это будет работать:
function echo2($e)
{
echo($e);
}
$a ? $b : echo2('foo');