【问题标题】:Why does the "echo" statement support outputting multiple arguments in a single line and the "echo" function does not?为什么“echo”语句支持在一行中输出多个参数而“echo”函数不支持?
【发布时间】:2016-06-17 23:24:41
【问题描述】:

在 PHP 中,您可以使用 echo statement 一次输出多个参数,如下所示:

echo "Mangoes", " ", "are", " ", "tasty.";

当您尝试对 echo 函数执行相同操作时:

echo("Mangoes", " ", "are", " ", "tasty.");

你得到一个错误,为什么会这样?
这可能是因为 PHP 希望您使用字符串连接而不是多个参数吗?

提前谢谢你。

【问题讨论】:

    标签: php output echo php-5.6


    【解决方案1】:

    因为echo 不是函数。文档清楚地说明了这一点:

    echo 实际上不是一个函数(它是一种语言结构),所以你 不需要与它一起使用括号。回声(不像其他一些 语言结构)的行为不像函数,所以它不能 总是在函数的上下文中使用。另外,如果你想 要将多个参数传递给 echo,参数不能是 括在括号内。

    【讨论】:

    • 感谢您的宝贵时间和帮助,非常感谢,+1。
    【解决方案2】:

    当您调用echo() 时,意味着您调用了echo() 的函数。 echo 只有一个参数echo(_string_)。因此,当您在 echo 参数的括号中包含 , 时,这意味着您使 echo 函数具有多个参数。所以你不能这样做echo("Mangoes", " ", "are", " ", "tasty.");

    请看这个http://www.w3schools.com/php/func_string_echo.asp

    【讨论】:

    • echo 不是函数,它接受表达式列表,而不是函数参数。如果它是一个函数,它将与括号和其中的多个参数一起使用(而 w3schools 是错误的 - 这并不奇怪)。
    • 感谢您的宝贵时间和帮助,非常感谢,+1。
    猜你喜欢
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 2014-03-13
    • 1970-01-01
    • 2013-08-11
    • 2013-12-07
    • 2020-10-06
    相关资源
    最近更新 更多