请考虑以下简单的代码段:
<!DOCTYPE html>
<html>
<body>
<?php
$x = 5;
$y = 4;
echo print $x + $y;
?>
</body>
</html>
输出如下:
91
现在考虑其他类似的代码片段:
<!DOCTYPE html>
<html>
<body>
<?php
$x = 5;
$y = 4;
print echo $x + $y;
?>
</body>
</html>
输出如下:
*a blank white screen*
为什么会这样?
如果可以在一个声明中使用回声和打印,为什么反向模式不起作用?
请完整解释,以满足我的疑问。
感谢。
答案 0 :(得分:3)
print
是一个行为类似于函数的构造;它的返回值为1
。因此:
echo print 'x';
在语法上有效并生成x1
,其中x
由print
打印,1
由echo打印。这相当于:
$print_value = print 'x';
echo $print_value;
另一方面, echo
没有返回值,因此$echo_value = echo 'x';
是语法错误,因此print echo 'x';
。