PHP-If语句在假日显示特殊文本

问题描述 投票:0回答:1

我正在尝试寻找一种方法来根据假期在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;
}
php date if-statement switch-statement
1个回答
0
投票

尝试一下

[我不确定为什么在每个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;
}
© www.soinside.com 2019 - 2024. All rights reserved.