0

我正在尝试制作一个包含页面的功能。

事实上,一开始我使用的是检查所有页面的长代码:

if (isset($_GET]['p']) && $_GET['p']=='something') {include 'something.php'};

现在我处理了 600 多页,这段代码太长了,我想简化一下。

有时我确实有一些页面的标题就像它们被使用一样,例如 home 将对应于 accueil.php 等。

所以我做了一个数组,其中列出了所有异常:

像那样:

$paramListepages = array(
    'corbeille' => array(
        'libelle'     => 'corbeille',
        'page'        => 'php/trash.php'
    ),   
    'nouveaumessage' => array(
        'libelle'     => 'nouveaumessage',
        'page'        => 'php/envoyer.php'
    ),   

ETC...

在这个数组中,我有大约 20 页。

现在我尝试创建一个包含页面的函数,所以这是我的代码:

function getPage($var)
{
    if (isset($var)) {
        $key = array_search($var, $paramListepages);
        if ($key == false()) {
            include('php/'.$var.'.php');    
        } else {

        }
    }
}

我不明白为什么第一部分不起作用。

我首先检查数组中是否存在 var,如果不存在,则包含与 var 对应的页面。

我仍然不知道如何做第二部分,但现在第一部分不起作用。

我没有消息错误,即使在我的 ubunto 中我激活了所有错误的显示。

在主页中index.php,我调用该函数getPage($_GET['p'])

任何形式的帮助将不胜感激。

4

1 回答 1

1

我建议直接访问数组中的条目:

function getPage($var) {
    if (empty($var))
        // no page specified => default page
        inlude('index.php')
    elseif (array_key_exists($var,$paramListepages))
        // page found => include it!
        include (sprintf('php/%s.php', $paramListepages[$var]['page']));
    else
        // page not found => default page
        inlude ('index.php')
}
于 2012-11-19T10:13:23.460 回答