关于PHP的echo和print

关于PHP echo和print的区别

PHP中有两个非常相似的输出功能,即echo和print。
这次我查了一下这两个功能的区别。

不是一个函数

echo和print在PHP中被解释为语言结构,而不是函数,因此可以不加括号正常工作。

<?php
    print("Hello world\n");
    print "Hello world\n";

    echo("Hello world\n");
    echo "Hello world\n";
?>

输出结果 (shū chū jié guǒ)

Hello world
Hello world
Hello world
Hello world

在动作上的区别是,echo()可以用逗号「,」分隔指定多个参数,而print()则否。
※然而,请注意在echo语句中加上()会导致错误。

<?php
    print 'Hello', 'world'; // この構文はエラーが出ます
    echo 'Hello', 'world'; // こっちは正しい構文です
?>

print是一个表达式,echo不是一个表达式。

例如,虽然无法在if语句中对echo进行评估,但可以对print进行评估。
由于print始终返回1,因此可以使用以下方式来表达。

<?php   
    //正常に評価する
    if (print 1) {
         print 'success';
    }
?>

处理结果

1success

如果使用echo进行如上所述的写法将会导致错误。

应该使用哪个?

总的来说,两种方法都可以。据说由于没有返回值,echo 的处理速度更快,但个人感觉差异不大。

bannerAds