2011-08-17 43 views
0

可能重复:
What is basic difference echo Vs print在PHP的回声和打印报表

回声和打印报表几乎是一样的,但他们有一定的差异。 例如,如果print语句成功 ,则返回值为1,如果不成功则返回值0,而echo语句 不返回值。

为什么print语句在成功时返回值1。但回声不。谢谢

+1

两者都是语言结构。 'print'像函数/表达式一样工作,而'echo'只能用作语句。 – mario

+0

如果我正确地理解了这个问题,也许这是通过设计完成的,echo是一种使用和忘记操作。 @mario:你能详细讨论echo的意思吗只能用作声明。 –

+0

'echo'接受可打印的变量数量的参数。但是,只有在没有括号的情况下才会这样做。这在表达中会是模糊不清的。这就是为什么'echo'只能用作语句(意味着只有一行命令)。 - 更多链接:http://stackoverflow.com/questions/3542745/differences-between-echo-echo-print-and-print-in-php – mario

回答

1

其实我已经在Ajax调用取的,打印“功能”的返回值的优势:

return print json_encode($my_data); 

它不会做任何事情有返回值,但它终止当前脚本的执行,这是写

echo json_encode($my_data); 
die(); 

的稍微漂亮方法,但是,为什么一个返回的东西,其他没有....可能不是一个可怕的很好的理由。我认为echo会因为它而略微加快(可以忽略),而print会有奇怪的用途,比如前面提到的那种。

至于这些其他人在说什么print()不是一个语言结构,而是一个函数,我告诉你,read the manual。这也是一种语言结构。