为什么在类内部的函数中,我不能这样做:
global $connected = true;
但是我可以这样做:
global $connected;
$connected = true;
将$connected
纳入作用域和为其赋值是两件独立的事情。
没有理由让它们在一个语句中出现,这真的没有多大意义。
执行以下代码:
function foo() {
global $x = 5;
}
- 将"全局表达式"
$x = 5
纳入范围? - 将"全局表达式"
5
纳入范围? - 分配
5
给全局$x
? - 将
5
分配给全局$x
,然后将$x
纳入范围?
我当然知道你的意思是后者,而前两个没有意义。但是,从拟议的声明中并不清楚这一点。
因为在函数内部,首先必须声明一个全局变量。这是在函数开始时必须做的事情。