具有 switch case 功能的日期请求未提供任何结果
Date request with switch case function delivers no result
我创建了一个 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; ?>;
}
首先,您必须在 date()
的格式周围加上引号,例如:
$i = date("d");
其次,您还必须在数字周围加上引号,否则它们会被解释为八进制数字!所以做这样的事情:
case "08":
还要在这周围加上引号:
case "10": $TopColor = "orange"; break;
您正在比较字符串和整数。 date() 函数 returns 字符串。
检查 link
你可以使用$i=intval(date('d'))
//转换为整数
我创建了一个 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; ?>;
}
首先,您必须在 date()
的格式周围加上引号,例如:
$i = date("d");
其次,您还必须在数字周围加上引号,否则它们会被解释为八进制数字!所以做这样的事情:
case "08":
还要在这周围加上引号:
case "10": $TopColor = "orange"; break;
您正在比较字符串和整数。 date() 函数 returns 字符串。 检查 link
你可以使用$i=intval(date('d'))
//转换为整数