PHPではループ文はwhile、for、foreachが一般的で、制御文はif swicth PHPのループ制御文の使い方を紹介します。
1. if..else ループには 3 つの構造があります。最初のループは if 条件のみを使用し、単純な判定として扱います。
「何か起こった場合の対処法」として説明します。
構文は次のとおりです。 if (expr) {statement} ここで、expr は判定条件であり、通常は論理演算記号が判定条件として使用されます。
ステートメントは、条件を満たすプログラムの実行部分です。プログラムが 1 行のみの場合は、中括弧 {} を省略できます。
例: この例では中括弧が省略されています。
コードは次のとおりです | コードをコピー |
if($状態==1) エコー「はは」; ?> |
ここで特に注意してほしいのは、== は等しいかどうかを判断するために使用されるということであり、ASP プログラマはこの間違いをよく犯す可能性があり、= は代入であるということです。
例: この例の実行部分は 3 行あり、中括弧は省略できません。
コードは次のとおりです | コードをコピー |
if($state==1){ エコー「ははは; 」 エコー" "; } ?> |
2 つ目のタイプは、if に加えて、「何かが起こった場合にどうするか、そうでない場合はどう解決するか」と解釈できる else 条件が追加されるものです。
構文は次のとおりです:
コードは次のとおりです | コードをコピー |
if(expr){ ステートメント1 }その他{ ステートメント2 } |
例: 上記の例をより完全なプロセスに変更します。
else を実行する命令は 1 行だけなので、中括弧を追加する必要はありません。
コードは次のとおりです | コードをコピー |
if($state==1){ エコー「はは」; エコー" "; }その他{ エコー「はは」; エコー" "; } ?> |
3 番目のタイプは再帰的な if..else ループで、通常、さまざまな意思決定の判断で使用されます。
いくつかの if..else を組み合わせて処理します。
以下の例を見てください
コードは次のとおりです | コードをコピー |
if($a>$b){ echo "a は b より大きい"; }エルセイフ($a==$b){ 「a は b に等しい」をエコーします; }その他{ echo "a は b より小さい"; } ?> |
上記の例では、2 つの変数 a と b を比較するために 2 レベルの if..else ループのみを使用しています。
このような再帰的な if..else ループを実際に使用する場合は、ループのレベルが多すぎると設計ロジックで問題が発生しやすくなったり、中括弧が少なすぎると説明できない問題が発生したりするため、注意して使用してください。プログラム内で。
2. for ループは 1 種類のみで、構文は次のとおりです
for(expr1;expr2;expr3){ステートメント}
ここで、 expr1 は条件の初期値です。
expr2 は判定条件であり、判定条件には通常論理演算子が使用されます。
expr3はステートメント実行後に実行する部分で、次のループ判定の条件を1つ追加するなど変更するために使用します。
ステートメントは、条件を満たすプログラムの実行部分です。プログラムが 1 行のみの場合は、中括弧 {} を省略できます。
次の例は、for ループを使用して記述されています。
コードは次のとおりです | コードをコピー |
for($i=1;$i<=10;$i ){ echo"これは ".$i." 番目のループです "; } ?> |
3. スイッチ ループは通常、複合条件判断を処理します。各サブ条件は case 命令の一部です。
実際には、同様の if 命令が多数使用されている場合、それらはスイッチ ループに合成できます。構文は次のとおりです
コードは次のとおりです | コードをコピー |
スイッチ(式){ caseexpr1: ステートメント1; 休憩; caseexpr2: ステートメント2; 休憩; デフォルト: 声明N; 休憩; } |
expr 条件は通常、変数名です。
case の後の exprN は通常、変数の値を表します。
コロン以降が条件に合致した実行部分となります。
ループから抜け出すにはブレークを使用するように注意してください。
コードは次のとおりです | コードをコピー |
switch(日付("D")){ ケース「月」: echo "今日は月曜日です"; 休憩; ケース「火」: echo "今日は火曜日です"; 休憩; ケース「水」: echo "今日は水曜日です"; 休憩; ケース「木」: echo "今日は木曜日です"; 休憩; ケース「金」: echo "今日は金曜日です"; 休憩; デフォルト: echo "今日は休みです"; 休憩; } ?> |
ここで注意する必要があるのは休憩です
省略しないでください。デフォルトです。省略しても問題ありません。
明らかに、上記の例で if ループを使用するのは非常に面倒です。
もちろん、設計時には、発生確率が最も高い条件を先頭に、最も発生確率が低い条件を最後に配置することで、プログラムの実行効率を高めることができます。
上記の例では、発生確率は毎日同じなので、条件の順序を気にする必要はありません。
phpループ制御ステートメント
1. While ステートメント
コードは次のとおりです | コードをコピー |
loop は PHP で最も単純なループ ステートメントですが、その構文形式は次のとおりです: While (式){ ステートメント; } |
expressionの値がtrueの場合、statementステートメントが実行され、実行完了後はexpressionに戻り判定を続けます。式が false と評価されるまで、ループは終了しません。
例:
コードは次のとおりです | コードをコピー |
$num = 1; $str = "10 以内の偶数は次のとおりです:"; while($num <=10){ if($num % 2 == 0){ $str.=$num.””; } $num++; } エコー $str; ?> |
2. Do...while ステートメント
while ステートメントには別の形式の Do...while もあります。構文は次のとおりです。
する{
ステートメント;
}while(式);
2 つの違いは、Do...while ステートメントは While ステートメントよりも 1 回多くループすることです。
While 式の値が false の場合、while ループは現在のループから直接飛び出しますが、Do...while ステートメントは最初にプログラム ブロックを実行してから式を判断します。
3. ステートメントについて
コードをコピー | |
ステートメント; } |
例:
コードをコピー |
for($i=1;$i<=100;$i++){ $num *=$i; } エコー $num; ?> |
Foreach ループは php4.0 で導入され、配列にのみ使用できます。 php5 では、オブジェクトのサポートが追加されました。このステートメントの構文形式は次のとおりです:
foreach($value としての配列式)
ステートメント;
または
Foreach(array_expression as $key => $value)
ステートメント;
Foreach ステートメントは、配列 array_expression を走査します。ループするたびに、現在の配列の値が $value に割り当てられます (または、配列の下のテーブルが $key に割り当てられ、対応する配列の値が $value に割り当てられます)。同時に、配列ポインターが後方に移動し、走査が完了するまでこのサイクルを繰り返します。 Foreach ステートメントを使用すると、配列ポインターが自動的にリセットされるため、ポインターの位置を手動で設定する必要はありません。例
コードをコピー |
if(is_array($arr) == true){ foreach($arr as $key => $value){ echo $key.”=”.$value.” ”; } }その他{ echo "この変数は配列ではないため、foreach ステートメントは使用できません"; } ?> |