PHP获取今天是星期几的3种写法
在PHP开发中,判断当前日期是星期几是一个常见的场景。本文将详细讲解三种实现这一功能的方法:基础的 if-else 判断、更优雅的 switch-case 结构,以及利用 mb_substr 函数配合字符切片实现极简输出。
方法一:使用 if-else 分支判断
这是最直观的实现方式。PHP 的 date("w") 函数会返回一个整数,其中 0 代表星期日,1 到 6 分别代表星期一到星期六。
复制代码 代码如下:
// 第一种写法
$da = date("w");
if( $da == "1" ){
echo "今天是星期一";
}else if( $da == "2" ){
echo "今天是星期二";
}else if( $da == "3" ){
echo "今天是星期三";
}else if( $da == "4" ){
echo "今天是星期四";
}else if( $da == "5" ){
echo "今天是星期五";
}else if( $da == "6" ){
echo "今天是星期六";
}else if( $da == "0" ){
echo "今天是星期日";
}else{
echo "你输入有误!!";
};
这种方法逻辑清晰,但代码较为冗长,重复的 echo 语句较多。
方法二:使用 switch-case 结构
为了改善代码的可读性和维护性,可以使用 switch 语句替代多个 else if。这种方式在处理离散值匹配时更加规范。
复制代码 代码如下:
// 第二种写法
$ga = date("w");
switch( $ga ){
case 1 : echo "今天是星期一";break;
case 2 : echo "今天是星期二";break;
case 3 : echo "今天是星期三";break;
case 4 : echo "今天是星期四";break;
case 5 : echo "今天是星期五";break;
case 6 : echo "今天是星期六";break;
case 0 : echo "今天是星期日";break;
default : echo "你输入有误!";
};
注意:每个 case 后面必须加上 break;,否则程序会继续执行下一个 case 的内容(即“穿透”现象)。
方法三:利用 mb_substr 简洁输出
如果需要将结果以更紧凑的方式呈现,可以构建一个包含星期对应汉字的字符串,并利用 date("w") 的值作为索引位置,通过 mb_substr 截取单个字符。
原理说明:
- 字符串 "日一二三四五六" 中,"日" 位于第 0 位,"一" 位于第 1 位,依此类推。
- date("w") 正好返回 0-6 的数值,可直接用作截取的起始偏移量。
复制代码 代码如下:
// 第三种写法
echo "今天是星期" . mb_substr( "日一二三四五六",date("w"),1,"utf-8" );
这种方法代码极简,适合用于前端展示或日志记录等对代码行数有要求的场景。确保字符串编码与页面一致(通常使用 utf-8)。
以上就是PHP实现今天是星期几的详细内容,更多关于PHP日期处理的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









