我正在尝试寻找一种方法来根据假期在PHP中生成特殊文本。我正在尝试if语句和切换,但是我无法弄清楚它的逻辑。你能告诉我怎么做吗?目的是要有两行文字:
今天是星期四。
星期四快乐胖!
如果给定的一天没有假期,则仅显示第一行文字。
setlocale(LC_ALL, "sv_SE");
$dag = strftime('%A', time());
$datum = strftime('%D', time());
{
echo "Idag är det ".$dag."<br>";
}
switch ($datum)
{
case ($datum = '01/01/2020'):
echo "Gott Nytt År";
break;
case ($datum = '01/06/2020'):
echo "Glad Trettondedag Jul";
break;
case ($datum = '02/20/2020'):
echo "Happy Fat Thursday!";
break;
default:
echo ' ';
break;
}
[我不确定为什么在每个case
中都使用表达式,但是已经将要检查的变量设置为switch
的参数,因此您只需要输入大小写即可。] >
我也删除了第一个回声,因为我根本不知道为什么存在该回声,因此将其移到default
捕获中,这意味着如果没有触发其他case
,则将触发默认值。
而且,从@Cadu De Castro Alves的评论开始,我将$datum
更改为:
$datum = strftime('%m/%d/%Y', time());
作为您之前使用的模式,您将返回两位数的年份,而不是要检查的四位数。
您可以阅读有关switch here的更多信息。
setlocale(LC_ALL, "sv_SE");
$dag = strftime('%A', time());
$datum = strftime('%m/%d/%Y', time());
switch ($datum) {
case '01/01/2020':
echo "Gott Nytt År";
break;
case '01/06/2020':
echo "Glad Trettondedag Jul";
break;
case '02/20/2020':
echo "Happy Fat Thursday!";
break;
default:
echo "Idag är det ".$dag."<br>";
break;
}