【发布时间】:2013-06-28 17:54:06
【问题描述】:
我用 PHP 编写了这个脚本:
$menuen = array(
"didattica" => "program",
"procedure" => "policies",
"news" => "news",
);
$menuit = array(
...
);
function getName ($link) {
if ($lang === "en") {
if (in_array($link, array_keys($menuen))) {
return $menuen[$link];
}
else {
return ucfirst(str_replace("_", " ", $link));
}
}
else {
if (in_array($link, array_keys($menuit))) {
return $menuit[$link];
}
else {
return ucfirst(str_replace("_", " ", $link));
}
}
}
$lang 是 en。
但是当我像 getName("didattica"); 这样调用函数时,脚本会抛出以下错误:
Warning: array_keys() expects parameter 1 to be array, null given in [script path] on line [if (in_array($link, array_keys($menuen))) {]
Warning: in_array() expects parameter 2 to be array, null given in [script path] on line [if (in_array($link, array_keys($menuen))) {]
因此,脚本无法将 $menuen 识别为数组。 为什么?
提前谢谢你
【问题讨论】:
-
您需要将错误报告设置设置为也显示 E_NOTICE 级别的错误。
-
@Agantacroxi - 请参阅下面的回复。对于您实际想要实现的目标,全局建议并不是一个很好的解决方案。
标签: php arrays associative-array