【发布时间】:2013-01-26 18:53:48
【问题描述】:
我有一个从 $_GET 获取值的 php 页面,并根据该值在多维数组中选择不同的值
$data =
array(
"index" => array(
"name" => "title",
"title" => "<img src = 'logo.png' alt=''>",
"fallback_html" => "main.php",
"gallery" => array("1" => "nothing")),
"gallery1" => array(
"name" => "gallery1",
"title" => "Gallery 1",
"fallback_html" => "",
"gallery" => array("1" => "jpg1.jpg","2" => "jpg2.jpg")
)
);
这里是代码
if(isset($_GET['p'])){
$page = $_GET['p'];
}
else {
$page = "index";
}
echo $data[$page]['title'];
我得到了这样的输出
Notice: Undefined index: 'index' in D:\xampp\htdocs\egliphp\index.php on line 66
如果我将 $page 值更改为 'index' 或 'gallery1' 就可以了
【问题讨论】:
-
当你通过 GET 访问时,'p' 的值是多少?
-
你有一个逻辑错误。如果用户不请求
?p=index,那么它将不起作用。 -
@RPM,我在我的回答中编写了一个过滤器,以解决像 `?p=add1saa221ds' 这样的逻辑问题。
标签: php arrays get multidimensional-array