//In PHP,
$a ? $b : echo $c //does not work but
$a ? $b : print $c //works
是否有一个原因?
顺便说一句,是not
PHP 中的关键字吗?
echo
不是函数,而是语言构造。它不返回任何东西。另一个void
函数总是“返回” NULL
。这就是编译器抛出错误的原因unexpected T_ECHO
。
printf
但是,它是一个函数并且总是返回1
。
例如,这将起作用:
function echo2($e)
{
echo($e);
}
$a ? $b : echo2('foo');
是因为 echo 是一种语言结构而 print 是一种功能吗?
PHP中没有not
关键字
返回值。如果你写
$x = $a?$b:echo $c;
如果 $a 为假,$x 会得到什么价值?
print 总是返回 1。 echo 不返回任何内容。