In_array函数不能正常工作



我使用一个多维数组来保存给定页面的变量。我试图从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()检查

相关内容

  • 没有找到相关文章