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 で行う簡単な家事サイコロとじゃんけんゲームが実現できます。考えてみませんか?

2015-08-08_55c5a97fea497.png実験をもう一度行うことができます:

ケース 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{


}
?>
世界で最も夢中になって待っていることは、私がケースであなたがスイッチであることです、私は黙って待っていますが、あなたは私を選択しません!



学び続ける
||
<?php //用swith...case来完成bool判断 $bool=true; switch($bool){ case true: case false: } /*********分隔线*******************/ if($bool){ }else{ } ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜