在函数内访问全局$ foo

时间:2013-05-01 09:59:00

标签: php

我正在尝试访问函数内的global $foo,但它无法正常工作。我不想在调用函数时添加它。这是一个很好的方法吗?

global $foo;
$foo = 'norman';

function kit($name)
{
if($foo == $name){echo 'Works';}else{echo 'Does not work';}
}

kit('norman')

2 个答案:

答案 0 :(得分:3)

您需要通过将其声明为 inside 函数来“导入”到本地函数范围:

function kit($name)
{
    global $foo;
    if($foo == $name){echo 'Works';}else{echo 'Does not work';}
}

您可以安全地从otuside函数中删除全局修饰符。

答案 1 :(得分:1)

在函数内部无法访问函数外部声明的全局变量尝试声明全局iinside函数本身。

将其更改为此

function kit($name)
{
    global $foo;
    if($foo == $name){echo 'Works';}else{echo 'Does not work';}
}