我有一小段代码,我无法使其正常工作。
$dict = array('401003' => "Test")
function getID ($tempid) {
$id = '<span title="'.$tempid.'">'.$dict[$tempid].'</span>';
return $id;
}
echo getID('401003');
echo $dict['401003'];
我希望两次获得'测试',但只有第二次回声让我回到'测试'。 函数
中的$ dict [$ tempid]似乎有些问题你能帮帮我吗?
答案 0 :(得分:6)
这与variable scope有关,您无权访问函数内的$dict
变量。您可以通过将$dict
声明为全局来解决此问题,或者将其传递给您的函数,您可以像这样重构它:
function getID($tempId, $dict) {
return '<span title="'.$tempid.'">'.$dict[$tempid].'</span>';
}
答案 1 :(得分:3)
getID看不到你的数组,你必须将它添加为参数或make $ dict global这一点通常是个坏主意:
$dict = array('401003' => "Test")
function getID ($tempid) {
global $dict;
$id = '<span title="'.$tempid.'">'.$dict[$tempid].'</span>';
return $id;
}