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