提问人:andyosuna 提问时间:8/13/2014 更新时间:8/13/2014 访问量:1034
PHP - 注意:未定义索引 [重复]
PHP - Notice: Undefined Index [duplicate]
问:
我知道如何做 isset 的事情,我也知道通知本身没什么大不了的,但它仍然困扰着我的强迫症。
这就是我处理上述行中变量的页面的设置方式:
//this part gets the page name from the url or sets the name to "Home"
if (isset($_GET['page'])):
$pageCurrent = ucfirst($_GET['page']);
else:
$pageCurrent = 'Home';
endif;
//this is a multiple array to handle the error pages
$errorPages = array(
'404' => array(
'errorTitle' => 'title',
'error' => 'content'
),
'403' => array(
'errorTitle' => 'title',
'error' => 'content'
)
);
//this two lines are the bastards giving me a hard time
$errorTitle = $errorPages[$pageCurrent]['errorTitle'];
$error = $errorPages[$pageCurrent]['error'];
您可以在 GitHub 上查看整个过程
谢谢
答:
1赞
Scopey
8/13/2014
#1
在您的例子中,出现错误消息是因为您引用了数组中不存在的键/值。$errorPages
访问数组中的值时,必须确保正在使用的键存在。在您的情况下,您可以使用:isset
if(isset($errorPages[$pageCurrent])) {
}
或者,您可以使用(文档array_key_exists
)
isset
如果键存在但设置为 ,则返回 false。 仅当键从未设置或已在数组中时才返回 false。null
array_key_exists
unset
下一个:未定义索引有多严格?
评论
$pageCurrent == 'Home'
$errorPages[$pageCurrent]