PHP フロー制御でのブランチ構(gòu)造 switch ステートメントの使用
ブランチ構(gòu)造 switch ステートメントの使用
最初に話した話を今でも覚えています。
クラスメートの王さんの家族はとても裕福なので、彼のスケジュールは普通の人と少し異なります。
次の 6 つの移動方法があります:
1、ドライバーの運転
2、民間航空
3、自分の専用飛行機(jī)
4、電車
5、乗馬
6、クルーズ船
彼には 6 つの方法があり、サイコロには 6 つの面があります。したがって、if...elseif... 判定方法を使用することもできますが、効率が低すぎます。
他に良い方法はありますか?使用できる方法の 1 つは、switch...case 構(gòu)文です。
switch...case の文法構(gòu)造は次のとおりです:
<?php switch(變量){ //字符串,整型 case 具體值: 執(zhí)行代碼; break; case 具體值2: 執(zhí)行代碼2; break; case 具體值3: 執(zhí)行代碼3; break; default: } ?>
switch の後に判定が必要な変數(shù)を置き、case の後に結(jié)果を置きます。 switch 後の変數(shù)の値は何ですか? case の値は switch 変數(shù)と同じコードセグメントに書き込まれます。
上記のブレークはオプションです
上記のデフォルトもオプションです
case の後にセミコロンとその後にコロンを書かないでください:
case の後に判定間隔を書かないでください ($foo > 20 など)または $ foo == 30)
if...else.. にはブール判定の方が適しているため、switch の変數(shù)は整數(shù)または文字列であることが望ましいです。下の図に示すように、結(jié)果を表します:
前回のクラスで rand 関數(shù)を使用したので、今度は rand を使用して Wang Sixong の問題選択を?qū)g裝します:
<?php //定義出行工具 $tool=rand(1,6); switch($tool){ case 1: echo '司機(jī)開車'; break; case 2: echo '民航'; break; case 3: echo '自己家的專機(jī)'; break; case 4: echo '火車動車'; break; case 5: echo '騎馬'; break; case 6: echo '游輪'; break; } ?>
必要なのは以下だけです。上記のコードを単純に使用すると、WeChat で行う簡単な家事サイコロとじゃんけんゲームが実現(xiàn)できます??激à皮撙蓼护螭?
実験をもう一度行うことができます:
もう一度簡単な週判定を書いてみましょう。書き方も少し変わっています: <?php
//得到今天是星期幾的英文簡稱
$day = date('D');
switch($day){
//拿學(xué)校舉例,我們讓星期一、二、三是校長日
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{
}
?>
世界で最も夢中になって待っていることは、私がケースであなたがスイッチであることです、私は黙って待っていますが、あなたは私を選択しません!