PHP フロー制御における if ステートメントの複數(shù)のネスト
クラスメイトの王六松さん、最初の話で、彼には生活秘書と仕事秘書の2人の秘書がいると言いました。
學生の王六松さんも、旅行やプロジェクトにおいて非常によく計畫を立てています。彼は出張の旅程を人生の秘書と仕事の秘書にそれぞれ割り當てました:
人生の中で:
まずは天気を確認し、雨が降った場合は雨具とタオルをご持參ください。雨が降っていない場合は日焼け止めをお持ちください
雨具、タオル、日焼け止めの狀態(tài)を事前に確認して、ない場合は早めに購入してください職場:
大連に行く前に作業(yè)計畫について事前に連絡(luò)する必要があり、準備ができたら、時間內(nèi)にチェックインし、資格があるかどうかを確認し、フォームを印刷して署名する必要があります。
準備が間に合わない場合は、プロジェクトに関するコミュニケーションの主なトピックをリストします。
上記の狀況と同様に、if...elseif...else を繰り返しネストした構(gòu)造を使用する必要があります。
if文の中に1つ以上のif文を入れ子にして複數(shù)のパラメータの判定を?qū)g現(xiàn)することができます。これがif文の多重入れ子です。その構(gòu)造形式は次のとおりです:
<?php if(判斷1){ if(判斷2){ 代碼段 1 }else{ 代碼段2 } }else{ if(判斷3){ 代碼段3 }else{ 代碼段4 } } ?>
フローチャートを使用して次のように表します:
注:
- コードセグメント 1、2、3、および 4 に判定を追加できます。実際の狀況に応じてネストを追加することもできます
- インデントに注意してください。インデントの機能は、コードを階層化して美しく読みやすくすることだけであり、ターゲットコードの生成には影響しません。
コードを使用して、王六松氏の生活要件を入れ子構(gòu)造で表現(xiàn)できます。 3 レベルのネストされた構(gòu)造を使用し、コードは次のとおりです:
<?php //0表示工作秘書,1表示生活秘書 //用代碼模擬隨機產(chǎn)生當前的工作是生活秘書的還是工作秘書的 $mishu = rand(0,1); if($mishu){ //下雨和不下雨的狀態(tài),隨機產(chǎn)生 //下雨狀態(tài)為1 //不下雨狀態(tài)為0 $xiyu = rand(0,1); if($xiyu){ //是否購買雨傘 $you = rand(0,1); if($you){ echo '下雨天,已購買不用買雨傘'; }else{ echo '下雨天,未購買,需要買雨傘'; } }else{ //是否購買防曬霜 $you = rand(0,1); if($you){ echo '沒下雨,有防曬霜'; }else{ echo '沒下雨,需要準備防曬霜'; } } }else{ //是否準備好了會議議程 $shifou = rand(0,1); if($shifou){ echo '已準備好,可以隨時出發(fā)'; }else{ echo '沒有準備好,需要打印,延遲出發(fā)'; } }
警告: 初心者プログラマの場合、このネストされた if...else ループを使用するときは注意してください。ループの層が多すぎると、設(shè)計ロジックで問題が発生しやすくなったり、中括弧などが少なすぎると、プログラムで説明できない問題が発生したりするためです。
黙って書いていただければ幸いです。また、文法上の誤りが 1 つもあってはならない。將來的には、脳內(nèi)ですぐに反応したいときにいつでも書き始めることができます。