Mar*_*son 3 php function parentheses
我只花了3个小时想知道为什么我不能开始一个会话,然后意识到我用过:
session_start;
Run Code Online (Sandbox Code Playgroud)
当我应该使用时:
session_start();
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误消息!
也许那时候,我想,这是一种将函数与变量区分开来的懒惰方式 - 但后来记得它不能像变量那样需要$
任何人都可以告诉我为什么需要括号,以及为什么不使用它们时没有错误?
我收到通知(已设置error_reporting E_ALL):
注意:使用未定义的常量session_start - 在第5行的/t.php中假定为'session_start'
函数总是需要括号(如你所见)你无法分辨函数和常量之间的区别.因为代码应该被编写,所以人们可以理解它,不允许读者看它是一个常量还是函数调用使得它更难以阅读和调试.
我认为这是一个通知而不是错误错误,因为向后兼容性,一些旧的代码倾向于使用不带引号的字符串访问数组,如果没有该名称的常量,PHP会将其视为带引号的字符串.
$myArray[myString] = 25;
Run Code Online (Sandbox Code Playgroud)