PHP フロー制御における if ステートメントの複数のネスト
クラスメイトの王六松さん、最初の話で、彼には生活秘書と仕事秘書の2人の秘書がいると言いました。
学生の王六松さんも、旅行やプロジェクトにおいて非常によく計画を立てています。彼は出張の旅程を人生の秘書と仕事の秘書にそれぞれ割り当てました:
人生の中で:
まずは天気を確認し、雨が降った場合は雨具とタオルをご持参ください。雨が降っていない場合は日焼け止めをお持ちください
雨具、タオル、日焼け止めの状態を事前に確認して、ない場合は早めに購入してください職場:
大連に行く前に作業計画について事前に連絡する必要があり、準備ができたら、時間内にチェックインし、資格があるかどうかを確認し、フォームを印刷して署名する必要があります。
準備が間に合わない場合は、プロジェクトに関するコミュニケーションの主なトピックをリストします。
上記の状況と同様に、if...elseif...else を繰り返しネストした構造を使用する必要があります。
if文の中に1つ以上のif文を入れ子にして複数のパラメータの判定を実現することができます。これがif文の多重入れ子です。その構造形式は次のとおりです:
<?php if(判断1){ if(判断2){ 代码段 1 }else{ 代码段2 } }else{ if(判断3){ 代码段3 }else{ 代码段4 } } ?>
フローチャートを使用して次のように表します:
注:
- コードセグメント 1、2、3、および 4 に判定を追加できます。実際の状況に応じてネストを追加することもできます
- インデントに注意してください。インデントの機能は、コードを階層化して美しく読みやすくすることだけであり、ターゲットコードの生成には影響しません。
コードを使用して、王六松氏の生活要件を入れ子構造で表現できます。 3 レベルのネストされた構造を使用し、コードは次のとおりです:
<?php //0表示工作秘书,1表示生活秘书 //用代码模拟随机产生当前的工作是生活秘书的还是工作秘书的 $mishu = rand(0,1); if($mishu){ //下雨和不下雨的状态,随机产生 //下雨状态为1 //不下雨状态为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 '已准备好,可以随时出发'; }else{ echo '没有准备好,需要打印,延迟出发'; } }
警告: 初心者プログラマの場合、このネストされた if...else ループを使用するときは注意してください。ループの層が多すぎると、設計ロジックで問題が発生しやすくなったり、中括弧などが少なすぎると、プログラムで説明できない問題が発生したりするためです。
黙って書いていただければ幸いです。また、文法上の誤りが 1 つもあってはならない。将来的には、脳内ですぐに反応したいときにいつでも書き始めることができます。