为什么我有这么多麻烦:

时间:2018-12-03 21:54:32

标签: php arrays include

请问,为什么我有这么多麻烦($ menu是一个关联数组)。它没有循环:

<?php

foreach ($menu as $menuItem => $page) {

    if (isset($_GET[''])) {
        include PAGE_PATH . "/home";
    } elseif (isset($_GET['$menuItem'])) {
        include(PAGE_PATH . "/" . "$page");
    }
}
?> 

1 个答案:

答案 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等。