У меня есть этот код, и он не работает, потому что его эхо «23», когда он должен эхо «24» (потому что сейчас февраль).Могу ли я использовать логический оператор (или что-то подобное) в случае функции переключателя?
Я знаю, что могу разбить или в другое дело, так оно и работает. Мне просто интересно, есть ли способ использовать «или» или что-то подобное в этой ситуации, чтобы помочь убрать еще больше.
<?php
$paymentday = null;
switch ($paymentday){
case date('M') == "Jan" or
date('M') == "Feb" or
date('M') == "Mar" or
date('M') == "Apr" or
date('M') == "May" or
date('M') == "Jul" or
date('M') == "Aug" or
date('M') == "Okt" or
date('M') == "Nov":
$paymentday = "24";
break;
case date('M') == "Jun":
$paymentday = "23";
break;
case date('M') == "Sep":
$paymentday = "22";
break;
case date('M') == "Dec":
$paymentday = "21";
break;
}
echo $paymentday;
?>
Это не так, как вы используете swicth/case. Пожалуйста, ознакомьтесь с руководством: http://php.net/manual/en/control-structures.switch.php. Вы в настоящее время пытаетесь использовать его так же, как 'if/else'. –