我试图访问一个函数内的global $foo
,但它不起作用。我不想在调用函数时添加它。做这件事的好方法是什么?
global $foo;
$foo = 'norman';
function kit($name)
{
if($foo == $name){echo 'Works';}else{echo 'Does not work';}
}
kit('norman')
您需要通过在函数内声明它为全局来"导入"到局部函数作用域:
function kit($name)
{
global $foo;
if($foo == $name){echo 'Works';}else{echo 'Does not work';}
}
可以安全地从函数外部删除全局修饰符
在函数外部声明的全局变量不能在函数内部访问,请尝试在函数内部声明全局变量。
改成
function kit($name)
{
global $foo;
if($foo == $name){echo 'Works';}else{echo 'Does not work';}
}