在函数中访问全局$foo


Accessing global $foo inside a function

我试图访问一个函数内的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';}
}