PHP中的函数不返回我的数组的值,为什么?

And*_*tis 1 php arrays return echo

我有一小段代码,我无法使其工作.

$dict = array('401003' => "Test")
function getID ($tempid) {
    $id = '<span title="'.$tempid.'">'.$dict[$tempid].'</span>';
    return $id;
}
echo getID('401003');
echo $dict['401003'];
Run Code Online (Sandbox Code Playgroud)

我希望两次得到'测试',但只有第二个回声让我回到'测试'.函数中的$ dict [$ tempid]似乎有些问题

你能帮帮我吗?

Dun*_*zzz 6

这与变量范围有关,您无权访问$dict函数内的变量.您可以通过声明$dict为全局或通过将其传递给您的函数来解决此问题,您可以像这样重构它:

function getID($tempId, $dict) {
    return '<span title="'.$tempid.'">'.$dict[$tempid].'</span>';
}
Run Code Online (Sandbox Code Playgroud)