関数の中に条件分岐を埋め込む際のor( || )の扱いについて疑問点があります。
switch文にて、
php
1$test が"A"および"B"ならグループ1 2$test が"C"ならグループ2 3$test が"D"ならグループ3 4$test が以上のうちどれでもない場合はグループ不明 5
に分類したいです。
php
1 2<?php 3function group_classification($test){ 4 switch($test){ 5 case "A" ||"B": 6 echo "あなたはグループ1です。".PHP_EOL; 7 break; 8 9 case"C": 10 echo "あなたはグループ2です。".PHP_EOL; 11 break; 12 13 case"D": 14 echo "あなたはグループ3です。".PHP_EOL; 15 break; 16 17 default: 18 echo "あなたのグループは不明です。".PHP_EOL; 19 break; 20 } 21} 22 23 $test="A"; 24group_classification($test); 25 26 $test="C"; 27group_classification($test); 28
このようなコードを実行した際、$test の値がAでもBでもCでもDでも、結果がグループ1になってしまいます。
試しにグループ1を "A"のみと指定してみると正常に動くので、 || の扱いがよくないのかなと思いますが、調べてみても原因にたどり着くことができませんでした。
初歩的な問題でお恥ずかしい限りですが、どなたかご教示いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/19 09:28
2019/07/19 09:32