私は PHP の switch にあまり詳しくありませんが、コードに多数の elseif がある場合は、代わりに switch を使用した方がよいと聞きました。以下のコードを switch に変更しようとしましたが、elseif ごとに 2 つまたは 3 つの値をチェックしているため、switch の代わりに elseif を使用する方が論理的であるように思われます (間違っている可能性があります)。
私の質問は、以下のコードについて何を提案しますか? Elseifまたはスイッチ?
また、コードを switch に変更したい場合は、ヒントを教えていただけますか?
よろしくお願いします!
(ちなみに、block_check と report_check はチェックボックスで、reported_msg はテキストです)
public function block_user(){
if(isset($_POST['submitted'])){
$block_check = $_POST['block_check'];
$report_check = $_POST['report_check'];
$reported_msg = $_POST['reported_msg']);
if((!($block_check)) && (!($report_check))){
echo "dont send, both not checked";
}elseif(($report_check) && ($reported_msg == '')){
echo "dont send, msg box is empty";
}elseif((!($report_check)) && ($reported_msg != '')){
echo "dont send, report_check is not checked";
}elseif(($block_check) && (!($report_check)) && ($reported_msg == '')){
echo "just process block";
}elseif((!($block_check)) && ($report_check) && ($reported_msg != '')){
echo "just process report";
}elseif(($block_check) && ($report_check) && ($reported_msg != '')){
echo "process both block and report";
}
}
}