
No.5
- 回答日時:
switch (true) {
case $num <= 50:
echo "50以下";
break;
case 51<$num && $num <=80:
echo "51以上80以下";
break;
default:
echo "80以上";
}
No.3
- 回答日時:
がると申します。
元々switch文は経緯的に「単値(1つの値)しか受け取らない」ことが多いので。
範囲指定で確認したい場合は、原則的にはif else の連打にならざるを得ないかと思います。
後は#1さんの書かれている通り「なんらかの計算式で単値におきなおせる」ならおきなおしてしまうのもまた一つの手です。
No.1
- 回答日時:
PHPはよく知らないので,見当違いな可能性あり.
振り分けの単位が倍数になっていれば,単純なのだが….
倍数になっているなら, 振り分け単位で 除算してfloorをとる,つまり整数除算した商を用いればいい.
$base = 50;
$quotient = floor($num/($base+1))
switch(#quotient) {
case 0: // 51以下
break;
case 1: // 51~100
break;
default: // 101以上
break;
}
ただし,この方法だと, $num が負の場合に問題がある.
# switch に入れる判定値を if () で初期化するっていうのは2度手間なでけですね.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
findstrのerrorlevel
-
shシェルスクリプト 空白行の...
-
XMLのタグの有無をPHPで判定し...
-
特別な四捨五入の計算方法について
-
hiddenを使っているのに、表が...
-
小数点以下0の非表示
-
Dosブロンプトでtabを出力したい
-
Excel VBA:特定の文字列以降(...
-
wordの差し込み印刷で文字...
-
「取得先」という表現について
-
classの再定義エラーについて
-
EXCEL、マクロ-改ページ行番号...
-
【C#】DataGridViewの最大列数...
-
Smarty変数の値をJavascript変...
-
VB.NETでボリュームを取得・設...
-
ps3で久しぶりにCDの音楽情報取...
-
ExcelVBAで、FileSystemObject...
-
複数ページでセッションを使わ...
-
Google scholarがひらけなくな...
-
開始と終了を指定して、その間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルで、全てのウィ...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
Windowsのsetコマンドでの小数...
-
ifの条件(不等号)を動的に埋...
-
ゼロとNULLを区別して number_f...
-
PHPで訪問回数を表示するカウン...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
PHPで$_GET[’m’]の意味が分か...
-
WindowsのイベントログをExcel...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
おすすめ情報