如何简化此php代码

如何简化此php代码,php,Php,我需要一些帮助和解释如何简化我的php代码 它正在工作,但似乎很少重复代码 基本上,我想检查商店关门时显示预格式化文本的日期和时间,以及桌面或移动设备上的不同文本 谢谢你的阅读 <?php include 'Mobile_Detect.php'; $detect = new Mobile_Detect(); //Get time $hour = date("H", mktime(date("H"))); $day = date("D");

我需要一些帮助和解释如何简化我的php代码

它正在工作,但似乎很少重复代码

基本上,我想检查商店关门时显示预格式化文本的日期和时间,以及桌面或移动设备上的不同文本

谢谢你的阅读

    <?php
    include 'Mobile_Detect.php';
    $detect = new Mobile_Detect();
    //Get time
    $hour = date("H", mktime(date("H")));
    $day = date("D");

    if($day == 'Mon'  && ($hour >= 6 && $hour < 22)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
    }       
    elseif($day == 'Tue'  && ($hour >= 6 && $hour < 22)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
    }                           
    elseif($day == 'Wed'  && ($hour >= 6 && $hour < 22)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
    }                   
    elseif($day == 'Thu'  && ($hour >= 6 && $hour < 22)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
    }                       
    elseif($day == 'Fri'  && ($hour >= 6 && $hour < 22)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
    }               
    elseif($day == 'Sat'  && ($hour >= 8 && $hour < 18)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
    }                       
    elseif($day == 'Sun'  && ($hour >= 8 && $hour < 18)) {
        if ($detect->isMobile()) 
        {
        include 'online_mobile.php';
        } else 
        {
        include 'online_desktop.php'; 
        }
} else {
    if ($detect->isMobile()) 
    {
    include 'closed_mobile.php';
    } else 
    {
    include 'closed_desktop.php'; 
    } 
}
?>

问候R.C.

试试:

<?php
$include = '';

    if( in_array($day, array('Mon', 'Tue', 'Wed', 'Thu', 'Fri') ) && ($hour >= 6 && $hour < 22) ) {

        $include = $detect->isMobile() ? 'online_mobile' : 'online_desktop';
    }

    if($day == 'Sat'  && ($hour >= 8 && $hour < 18)) {
        $include = $detect->isMobile() ? 'online_mobile' : 'online_desktop'; 
    }

    if($day == 'Sun'  && ($hour >= 8 && $hour < 18)) {
        $include = $detect->isMobile() ? 'online_mobile' : 'online_desktop';
} else {
    $include = $detect->isMobile() ? 'closed_mobile' : 'closed_desktop'; 
}        

include $include.'php';

如果这是工作代码,可能会重复,我认为应该在中讨论,而不是在堆栈溢出中讨论。这真是太好了!我去学aray的:-)非常感谢!小得多,干净得多。你应该按照回答检查它,让其他人也知道它。我在想:是否可以从文本或csv文件中读取日期和时间,并在上面的示例中使用它?文本文件,如:“星期一”、“7”、“18”“星期二”、“7”、“18”“星期三”、“7”、“18”“星期四”、“7”、“18”“星期五”、“7”、“18”“星期六”、“0”、“0”“太阳”、“0”、“0”星期六和太阳已关闭;-)在这种情况下,您还可以将其放入数据库中。但是是的,这应该是可能的