请问,为什么我有这么多麻烦($ menu是一个关联数组)。它没有循环:
<?php
foreach ($menu as $menuItem => $page) {
if (isset($_GET[''])) {
include PAGE_PATH . "/home";
} elseif (isset($_GET['$menuItem'])) {
include(PAGE_PATH . "/" . "$page");
}
}
?>
答案 0 :(得分:1)
不确定{2,}
的期望,但我怀疑那是您期望的。翻转逻辑并检查实际的get参数。此外,不会在单引号$_GET['']
中使用双引号'
来解析变量,对于数组索引,只需使用变量即可:
"
这是假设$include = "home";
foreach ($menu as $menuItem => $page) {
if (isset($_GET[$menuItem])) {
$include = "$page";
// if multiple get params this will use first, remove to use last
break;
}
}
include(PAGE_PATH . "/$include.php"); // added .php
类似于:
$menu
访问此页面的URL类似于:Array
(
[contact] => contact.php
[about] => about.php
)
或index.php?contact
等。