我想使用switch进行测试,这是我写的代码:
<?php
$moisActuelle = date("n");
switch($moisActuelle)
{
case 1 || 2 || 3 :
echo'L\'hiver';
break;
case 4 || 5 || 6 :
echo'Le printemp';
break;
case 7 || 8 || 9 :
echo'L\'été';
break;
case 10 || 11 || 2 :
echo'L\'automne';
break;
}
?>
但无论$ moisActuelle是什么,这段代码总是执行第一种情况。
答案 0 :(得分:4)
switch($moisActuelle)
{
case 1:
case 2:
case 3:
echo'L\'hiver';
break;
}
Switch语句将查找第一个真实案例,并且在该语句之后将继续执行所有操作,直到找到break
或default
答案 1 :(得分:2)
我不确定你是否可以这样做,但这是一种方式:
<?php
$moisActuelle = date("n");
switch($moisActuelle)
{
case 1:
case 2:
case 3:
echo'L\'hiver';
break;
// etc
}
?>
答案 2 :(得分:0)
我更喜欢用这种方式:
<?php
$decisionTable = array(
'1' => 'L\'hiver',
'2' => 'L\'hiver',
'3' => 'L\'hiver',
'4' => 'Le printemp',
'5' => 'Le printemp',
'6' => 'Le printemp',
'7' => 'L\'été',
'8' => 'L\'été',
'9' => 'L\'été',
'10' => 'L\'automne',
'11' => 'L\'automne',
'12' => 'L\'automne',
);
$moisActuelle = date("n");
echo $decisionTable[$moisActuelle];
?>
或者,如果您想使用swicth
:
<?php
$moisActuelle = date("n");
switch(true)
{
case in_array($moisActuelle, array(1, 2, 3)):
echo'L\'hiver';
break;
case in_array($moisActuelle, array(4, 5, 6)):
echo'Le printemp';
break;
case in_array($moisActuelle, array(7, 8, 9)):
echo'L\'été';
break;
case in_array($moisActuelle, array(10, 11, 12)):
echo'L\'automne';
break;
}
?>