好吧,你为什么不直接测试?;-)
注意:这并不像你想象的那么容易 - 阅读完整的答案;-)
调用函数,而不设置变量:hello_testing();
hello_testing();
我没有得到任何输出 - 这表示返回 false
的 isset
。
设置变量后调用函数:
$conditional_random = 'blah';
hello_testing();
我得到一个输出:
foo is inside
这表明全局
工作按预期工作,当变量被设置时 - 好吧,人们不应该怀疑这个^^
但请注意,如果设置了变量,则 isset
将返回 false
,并且为 null
!
请参阅 isset()
的手册页
这意味着更好的测试将是:
function hello_testing() {
global $conditional_random;
var_dump($conditional_random);
}
hello_testing();
这将显示:
null
否 通知:变量存在!便。null
由于我没有在函数之外设置变量,因此它显示设置变量 - 但它没有在其中输入值;这意味着如果尚未在函数外部设置,则为该函数。global
null
而:
function hello_testing() {
//global $conditional_random;
var_dump($conditional_random);
}
hello_testing();
给:
Notice: Undefined variable: conditional_random
它证明了通知已启用;-)
而且,如果 global 没有“设置”变量,前面的示例将给出相同的通知。
最后:
function hello_testing() {
global $conditional_random;
var_dump($conditional_random);
}
$conditional_random = 'glop';
hello_testing();
给:
string 'glop' (length=4)
(这纯粹是为了证明我的例子没有被欺骗^^)