我花了 3 个小时想知道为什么我无法开始 session ,然后意识到我使用了:
session_start;
我应该在什么时候使用:
session_start();
我根本没有收到任何错误消息!
也许那时,我想,这是一种将函数与变量区分开来的懒惰方法 - 但后来想起它不能是因为变量需要 $
谁能告诉我为什么需要括号,以及为什么不使用括号时不报错?
最佳答案
我收到通知(已将 error_reporting 设置为 E_ALL
):
Notice: Use of undefined constant session_start - assumed 'session_start' in /t.php on line 5
函数总是需要括号,否则(如您所见)您无法区分函数和常量。因为代码应该被编写成人们阅读它时可以理解的方式,所以不允许读者查看它是常量调用还是函数调用会使它更难阅读和调试。
我认为这是一个通知而不是错误错误,因为向后兼容一些旧代码倾向于使用不带引号的字符串访问数组,如果没有具有该名称的常量,PHP 会将这些字符串视为带引号的字符串。
$myArray[myString] = 25;
关于php - 为什么没有参数的 PHP 函数需要括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2833502/