php if-statement语句对列表,需要帮助精简

时间:2011-05-28 07:14:00

标签: php if-statement

因此,我正在尝试为我的托管客户构建一些基本网站的小型轻量级框架,我正在尝试调用index.php各种包含。

我已经弄明白但是觉得必须有更好的方法来编写以下if语句:

<?php
        if('home'==$currentpage)
        {
        include('shared/footer.htm');
        }   
        elseif('testing'==$currentpage)
        {
        include('shared/footer.htm');
        }
        elseif('training'==$currentpage)
        {
        include('shared/footer.htm');
        }
        elseif('contact'==$currentpage)
        {
        include('shared/footer.htm');
        }
        elseif('pricing'==$currentpage)
        {
        include('shared/footer.htm');
        }
    ?>

我得到以下工作类型,它使用列表中的最后一项是:

$arr = array('home', 'testing', 'training', 'contact');
        foreach ($arr as &$value);

        if ($value==$currentpage)
        {
        include('shared/footer.htm');
        }

那个人会在联系页面上显示footer.htm但是没有其他人,如果我切换它然后显示最后一个项目结束,我也尝试了一个foreach语句,它打破了页面所以我放弃了,并认为我会请求帮助。

提前致谢。

3 个答案:

答案 0 :(得分:1)

$arr = array('home', 'testing', 'training', 'contact','pricing');
if (in_array($currentpage,$arr))
{
   include('shared/footer.htm');
}

答案 1 :(得分:0)

你可以使用简单的数组列表:

$arrPage = array(
 'home' => 'shared/footer.htm',
 'testing' => 'shared/footer.htm',
 'training' => 'shared/footer.htm',
 'contact' => 'shared/footer.htm',
 'pricing' => 'shared/footer.htm',
);
if( array_key_exists( $arrPage, $currentPage ))
    include($arrPage[$currentpage]);

答案 2 :(得分:0)

您可以拥有地图,然后使用它来调用正确的页面。如果没有不同的文件路径,则可以删除路径。我认为这是一个错字。

$pages = array(
   'home' => 'shared/footer.htm',
   'testing' => 'shared/footer.htm',
   'training' => 'shared/footer.htm'
); //and so forth

if (isset($pages[$currentpage])) {
    include($pages[$currentpage]);
} else {
   //show default page
}