带开关盒功能的日期请求不会产生任何结果

时间:2015-01-08 23:43:52

标签: php date switch-statement

我创建了一个用于检查一个月中某天的PHP代码。根据日期编号,我的CSS中应生成不同的颜色代码。

今天是1月8日,所以在这种情况下,十六进制#FFD500应该是背景颜色的值。即使回显当天发送" 08",背景色值也是空的。

为什么没有以背景颜色显示08的十六进制?

<?php 

    header("Content-type: text/css; charset: UTF-8");

    $i = date(d);

    switch ($i) {

        case 05: $TopColor = '#A60000'; break;
        case 09: $TopColor = '#009EFF'; break;
        case 13: $TopColor = '#8200A6'; break;
        case 16: $TopColor = '#FFD500'; break;
        case 17: $TopColor = '#003CA9'; break;
        case 25: $TopColor = '#087E00'; break;
        case 30: $TopColor = '#C300AB'; break;
        case 31: $TopColor = '#00B8B8'; break;
        case 11: $TopColor = '#FFE211'; break;
        case 10: $TopColor = orange; break;
        case 08: $TopColor = '#FFD500'; break; 
    }

?>

.site-header {
    background-color: <?php echo $TopColor; ?>;
}

2 个答案:

答案 0 :(得分:1)

首先,你必须在date()的格式中加上引号,如:

$i = date("d");

其次你还要在数字周围加上引号,否则它们会被解释为八进制数字!所以做这样的事情:

case "08":

同时加上引号:

case "10": $TopColor = "orange"; break;

答案 1 :(得分:0)

您正在将字符串与Integer进行比较。 date()函数返回String。 查看link

您可以使用$i=intval(date('d')) //转换为整数