PHP フロー制御でのブランチ構造 switch ステートメントの使用
ブランチ構造 switch ステートメントの使用
最初に話した話を今でも覚えています。
クラスメートの王さんの家族はとても裕福なので、彼のスケジュールは普通の人と少し異なります。
次の 6 つの移動方法があります:
1、ドライバーの運転
2、民間航空
3、自分の専用飛行機
4、電車
5、乗馬
6、クルーズ船
彼には 6 つの方法があり、サイコロには 6 つの面があります。したがって、if...elseif... 判定方法を使用することもできますが、効率が低すぎます。
他に良い方法はありますか?使用できる方法の 1 つは、switch...case 構文です。
switch...case の文法構造は次のとおりです:
<?php switch(变量){ //字符串,整型 case 具体值: 执行代码; break; case 具体值2: 执行代码2; break; case 具体值3: 执行代码3; break; default: } ?>
switch の後に判定が必要な変数を置き、case の後に結果を置きます。 switch 後の変数の値は何ですか? case の値は switch 変数と同じコードセグメントに書き込まれます。
上記のブレークはオプションです
上記のデフォルトもオプションです
case の後にセミコロンとその後にコロンを書かないでください:
case の後に判定間隔を書かないでください ($foo > 20 など)または $ foo == 30)
if...else.. にはブール判定の方が適しているため、switch の変数は整数または文字列であることが望ましいです。下の図に示すように、結果を表します:
前回のクラスで rand 関数を使用したので、今度は rand を使用して Wang Sixong の問題選択を実装します:
<?php //定义出行工具 $tool=rand(1,6); switch($tool){ case 1: echo '司机开车'; break; case 2: echo '民航'; break; case 3: echo '自己家的专机'; break; case 4: echo '火车动车'; break; case 5: echo '骑马'; break; case 6: echo '游轮'; break; } ?>
必要なのは以下だけです。上記のコードを単純に使用すると、WeChat で行う簡単な家事サイコロとじゃんけんゲームが実現できます。考えてみませんか?
実験をもう一度行うことができます:
ケース 1 のコードセグメントのブレークを削除して、もう一度試してください。効果は何ですか? もう一度簡単な週判定を書いてみましょう。書き方も少し変わっています: <?php
//得到今天是星期几的英文简称
$day = date('D');
switch($day){
//拿学校举例,我们让星期一、二、三是校长日
case 'Mon':
case 'Tue':
case 'Wed':
echo '校长日';
break;
echo '星期三';
break;
case 'Thu':
echo '星期四';
break;
case 'Fri':
echo '星期五';
break;
default:
echo '周末,周末过的比周一到周五还要累<br />';
};
?>
自分で試してみてください: 上記の例では、不一致があるときに実行されることがわかりました。デフォルトですよね?
もちろんこれもできますが、この種の文章は面倒なので、if...else を使用しない方が簡単です。私たちにはスイッチは必要ありません...真実と偽の判断をするためにケース<?php
//用swith...case来完成bool判断
$bool=true;
switch($bool){
case true:
case false:
}
/*********分隔线*******************/
if($bool){
}else{
}
?>
世界で最も夢中になって待っていることは、私がケースであなたがスイッチであることです、私は黙って待っていますが、あなたは私を選択しません!