是否有理由或方法在这种情况下避免if语句需要根据星期几显示内容?
$d=date("w");
if ($d=="0") echo "Sunday";
if ($d=="1") echo "Monday";
if ($d=="2") echo "Tueday";
if ($d=="3") echo "Wednesday";
if ($d=="4") echo "Thursday";
if ($d=="5") echo "Friday";
if ($d=="6") echo "Saturday";
答案 0 :(得分:1)
有多种方法可以做到这一点:
<小时/> 1.您可以在date
中使用l
(小写 L ):
echo date('l');
<小时/> 2.您可以使用
array
:
$days = array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday");
然后使用以下命令访问它:
echo $days[$d];
<小时/> 3.您可以使用
switch
:
switch ($d)
{
case 0:
echo "Sunday";
...
}
然而,我倾向于避免switch
陈述,因为它们是人类大脑最难理解的。
<小时/>
一些提示:
else if
代替多个if
s。答案 1 :(得分:1)
$dates = array("Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
);
echo $dates[date("w")];
应该很好地说出来。
编辑:想一想,只需使用echo date("l")
就可以正常使用。
答案 2 :(得分:1)
使用数组:
$days_of_week = array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday");
echo $days_of_week[$d]
答案 3 :(得分:1)
答案 4 :(得分:0)
您可以随时查看switch statement,例如:
$d=date('w');
switch($d) {
case(0):
$day='Sunday';
break;
case(1):
$day='Monday';
break;
case(2):
$day='Tuesday';
break;
case(3):
$day='Wednesday';
break;
case(4):
$day='Thursday';
break;
case(5):
$day='Friday';
break;
case(6):
$day='Saturday';
break;
default:
$day=null;
}
if($day!==null) {echo($day);}