为什么 echo 和 print 不能在以下代码片段中互换使用?

Why echo and print can not be used interchageably in following code snippet?

考虑以下简单代码片段:

<!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*

为什么会这样?

如果 echo 和 print 可以在一条语句中使用,为什么反向模式不起作用?

请解释清楚,满足我的疑问。

谢谢。

print 是一个行为类似于函数的结构;它的 return 值为 1。因此:

echo print 'x';

在句法上是有效的并生成 x1,其中 xprint 打印,1 由回显打印。这相当于:

$print_value = print 'x';
echo $print_value;
另一方面,

echo 没有 return 值,因此 $echo_value = echo 'x'; 是语法错误,print echo 'x';.

也是