我使用多维数组来保存给定页面的变量。我试图从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。
答案 0 :(得分:0)
in_array()
关注价值观。这可能是你追求的关键。
您可以使用array_key_exists()
检查该内容。
答案 1 :(得分:0)
看一下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";
}