php: スイッチの使用例の共有

黄舟
リリース: 2023-03-11 11:18:02
オリジナル
1426 人が閲覧しました

switch ステートメントは、同じ expression を持つ一連の if ステートメントに似ています。同じ変数 (または式) をさまざまな値と比較し、どの値と等しいかに応じて異なるコードを実行する必要がある状況は数多くあります。これはまさに switch ステートメントの目的です。

注: 他の 言語とは異なり、Continue ステートメントは switch に適用される場合、break に似ていることに注意してください。 ループ内にスイッチがあり、外側のループの次の反復に継続したい場合は、 continue 2 を使用します。

注:

switch/case は緩やかな比較を行うことに注意してください。

例:

<?php
  //switch细节
  //情况一:数值匹配的时候自动转换成字串
  $a=1;
  switch($a){
    case "1":
		echo &#39;hello1&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况二:数值匹配的时候自动转换成字符
  $a=1;
  switch($a){
    case &#39;1&#39;:
		echo &#39;hello2&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况三:字符匹配的时候自动转换成数值
  $a=&#39;1&#39;;
  switch($a){
    case 1:
		echo &#39;hello3&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况四:字串匹配的时候自动转换成数值
  $a="1";
  switch($a){
    case 1:
		echo &#39;hello4&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况五:float也可以匹配
  $a=1.1;
  switch($a){
    case 1.1:
		echo &#39;hello5&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况六:非0是true
  $a=true;
  switch($a){
    case 1:
		echo &#39;hello6&#39;;
		break;
	case true:
		echo &#39;hello61&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况七:能匹配boolean
  $a=true;
  switch($a){
    case true:
		echo &#39;hello7&#39;;
		break;
	case 2:
		echo &#39;hello71&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况八:能匹配null
  $a=null;
  switch($a){
    case 2://&#39;&#39;  ""  false 0 都能进入
		echo &#39;hello8&#39;;
		break;
	case null:
		echo &#39;hello81&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况九:退出顺序
  $a=5;
  switch($a){
    case 1:
		echo &#39;hello6&#39;;
		break;
	case 2:
		echo &#39;我是2号出口&#39;;
		break;
	case 5:
		echo &#39;我是5号出口&#39;;
		//break;
	case true:
		echo &#39;hello61&#39;;
		break;
	default:
		echo &#39;sorry none is the same!&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
   //情况十:退出顺序
  $a=50;
  switch($a){
	default:
		echo &#39;sorry none is the same!&#39;;
		//break;
    case 50:
		echo &#39;hello6&#39;;
		//break;
	case 2:
		echo &#39;我是2号出口&#39;;
		break;
	case 5:
		echo &#39;我是5号出口&#39;;
		//break;
	case 6:
		echo &#39;hello61&#39;;
		break;
  }
  echo &#39;<br/>&#39;.&#39;成功退出····&#39;;
  echo &#39;<hr/>&#39;;
?>
ログイン後にコピー

hello1
正常に終了しました...


hello2
正常に終了しました...


hello3
正常に終了しました...


hello5

正常に終了しました...


hello6

成功しました終了しました...


hello7

正常に終了しました...正常に終了しました...

hello81
正常に終了しました...終了hello61

正常に終了しました....


hello6 出口2番です

正常に終了しました・・・・・・・・

以上がphp: スイッチの使用例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!