打印工作和回声不能在PHP中工作

时间:2012-06-03 04:41:19

标签: php

以下代码仅使用print语句

 file_exists('index.php') || print "hi"; \\ works fine and prints hi



 file_exists('index.php') || echo "hi";  \\ error 

为什么print有效但echo会导致解析错误?

4 个答案:

答案 0 :(得分:4)

这是因为echo是一种语言结构,而print是一种内置函数。

出于同样的原因,使用echo也比print略快,但在表达式中使用时会导致解析器错误。

另请参阅错误报告:https://bugs.php.net/bug.php?id=15866

答案 1 :(得分:1)

我认为这是因为print返回一个布尔值而echo不返回任何内容,所以你不能在布尔表达式中使用。

http://www.htmlite.com/php004.php

答案 2 :(得分:0)

print返回一个,表示真正的echo不会返回任何内容。看起来你有一个或者一个statment需要file_exists和输出才能返回true。

答案 3 :(得分:0)

Echo和Print似乎相似但略有不同

打印 - 1 echo-nothing

在上面的语句中,如果文件存在,那么它什么都不显示

如果不存在则下一步是OR Print,Print总是返回一个布尔值