PHP中的return,echo和print关键字之间的区别

时间:2010-04-25 21:48:22

标签: php

这三者有什么区别?

PHP中的return,echo和print关键字

function theBand($abc,$bac) {

return $abc;
echo $abc;

}

两者都是相同的,它确实显示或返回变量abc中的值。现在返回存在函数并且echo继续。除此之外,还有返回关键字的具体内容。

3 个答案:

答案 0 :(得分:15)

return是一种语言结构,用于退出函数并为函数的调用者赋值。

echoprint都是输出字符串的语言结构。主要区别在于echo可以使用逗号分隔多个参数,但print只接受一个参数。

答案 1 :(得分:3)

当函数必须返回值时,使用

return

请参阅HERE

echoprint非常相似,但echo更快,因为它没有返回值。

  1. 速度。两者之间存在差异,但在速度方面,它应与您使用的哪一个无关。 echo稍微快一点,因为如果你真的想要深入了解细节,那么它就没有设定回报值。

  2. 表达。 print()表现得像一个函数,你可以这样做:

    $ret = print "Hello World";
    

    并且$ret将为1.这意味着print可以用作echo不能的更复杂表达式的一部分。 PHP手册中的一个例子:

    $b ? print "true" : print "false";
    

    print也是优先级表的一部分,如果是的话,它必须是 在复杂的表达中使用。它只是在底部 虽然优先列表。只有“,”,ANDORXOR较低。

  3. 参数(一个或多个)。语法是:echo expression [, expression[, expression] ... ]。但echo ( expression, expression )无效。这将是有效的:echo ("howdy"),("partner");与:echo "howdy","partner";相同(将括号放在该简单示例中没有任何意义,因为单个运算符没有运算符优先级问题 这样的术语。)

  4. 因此,没有括号的echo可以获取多个参数 级联:

    echo  "and a ", 1, 2, 3;   // comma-separated without parentheses
    echo ("and a 123");        // just one parameter with parentheses
    

    print()只能使用一个参数:

    print ("and a 123");
    print  "and a 123";
    

答案 2 :(得分:0)

print返回1,而echo返回任何内容。正如马克指出的那样,Echo也可以采取多种论点。

return(在函数的上下文中)退出函数(返回值,如果提供)。在全局上下文中,return将停止执行它所在的任何文件。因此,您可以摆脱包含文件,或以这种方式停止执行主脚本。