以下代码仅使用print语句
file_exists('index.php') || print "hi"; \\ works fine and prints hi
file_exists('index.php') || echo "hi"; \\ error
为什么print
有效但echo
会导致解析错误?
答案 0 :(得分:4)
这是因为echo
是一种语言结构,而print
是一种内置函数。
出于同样的原因,使用echo
也比print
略快,但在表达式中使用时会导致解析器错误。
答案 1 :(得分:1)
我认为这是因为print返回一个布尔值而echo不返回任何内容,所以你不能在布尔表达式中使用。
答案 2 :(得分:0)
print返回一个,表示真正的echo不会返回任何内容。看起来你有一个或者一个statment需要file_exists和输出才能返回true。
答案 3 :(得分:0)
Echo和Print似乎相似但略有不同
打印 - 1 echo-nothing
在上面的语句中,如果文件存在,那么它什么都不显示
如果不存在则下一步是OR Print,Print总是返回一个布尔值