我使用一个多维数组来保存给定页面的变量。我试图从url得到一个字符串,并与我的模板数组内的数组匹配,以拉正确的变量显示在页面上。
这是我的数组:
$template = array(
"index" => array(
"title" => "Dashboard",
"model" => "model/dash.php"
),
"input" => array(
"title" => "Dashboard",
"model" => "model/input.php"
),
"jobboard" => array(
"title" => "Job Board",
"model" => "model/job_board.php"
),
"jobcreate" => array(
"title" => "Job Creator",
"model" => "model/job_create.php"
)
);
下面是我用来验证页面的代码:
if(isset($_GET['page'])){ $page = $_GET['page']; }
if(in_array($page, $template)){
$title = $template[$page]['title'];
$model = $template[$page]['model'];
echo "yes";
}else{
$title = $template['index']['title'];
$model = $template['index']['model'];
echo "no";
}
echo "yes/no";
是我用来调试的,如果它工作与否,但无论我做了什么,它只是继续输出no.
看一下php的in_array()
的文档
in_array -检查一个值是否存在于数组
看起来您的目的是检查数组的索引,而不是值。
数组中的值为数组。试试用array_key_exists()
代替。
if (array_key_exists($page, $template)) {
$title = $template[$page]['title'];
$model = $template[$page]['model'];
echo "yes";
}
else {
$title = $template['index']['title'];
$model = $template['index']['model'];
echo "no";
}
in_array()
查看值。你想要的可能是钥匙。
你可以用array_key_exists()
检查