PHP ループ: For、ForEach、while、do while [例]

⚡ スマートサマリー

PHPループは条件が満たされるまでコードブロックを繰り返し、反復的なタイプを排除します。ping そして配列処理を駆動します。このチュートリアルでは、PHP の 4 つのループタイプ (for、foreach、while、do-while) について、構文、フローチャート、およびそれぞれの動作出力例を解説します。

  • 🔁 ループの役割: ループは、条件が満たされるまで同じブロックを繰り返し実行するため、重複したステートメントを記述する必要がなくなります。
  • 🔢 ループの場合: for文は、カウンター、条件、およびインクリメントを1行にまとめているため、反復回数が既知の場合に最適です。
  • 📦 Foreachループ: foreach は、手動カウンターを使用せずに、インデックス付き配列または連想配列のすべての要素を反復処理します。
  • 🔄 Whileループ: whileループは各パスの前に条件をチェックするため、条件が初期状態で偽の場合、本体は0回しか実行されない可能性があります。
  • 1️⃣ Do-While ループ: do-whileループは、コード本体の後に条件をチェックするため、コードブロックが少なくとも1回実行されることが保証されます。
  • 🧭 ループの選択: カウントや配列には for と foreach を、条件付き繰り返しには while を、確実に 1 回の実行が必要な場合は do-while を選択してください。
  • 🤖 AIアシスト: AIツールは、ループのリファクタリング、forループの配列関数への変換、無限ループの原因特定などを行うことができます。

PHPループ

ループとは、特定の条件が満たされるまで同じコードブロックを複数回実行する反復的な制御構造です。PHPは、以下の表に示す4種類のループをサポートしています。

ループ ベスト 状態を確認済み 少なくとも1回は実行される
既知の反復回数 各反復の前に いいえ
foreachの 配列要素を反復処理する 配列要素ごと いいえ
while 条件が満たされている間繰り返す 各反復の前に いいえ
一方を行います 一度実行してから再確認する 各反復後 はい

PHP For ループ

forループは、指定された回数だけコードブロックを実行します。必要な反復回数が事前にわかっている場合に最適な選択肢です。

構文。 基本的な構文は次のとおりです。

<?php
for (initialize; condition; increment){

// code to be executed

}
?>

ここに、

  • "のために…{…}" ループブロックです
  • 初期化します」は通常整数であり、カウンターの初期値を設定するために使用されます。
  • "状態" これは、PHPの実行ごとに評価される条件です。真と評価された場合は、forループの実行が続行されます。偽と評価された場合は、forループの実行が終了します。
  • "インクリメント" カウンタ整数の初期値をインクリメントするために使用されます。

使い方。 以下のフローチャートは、for ループがどのように PHP 作品。

PHP For ループ

プログラミングの方法。 以下のコードは、forループを使用して、10に0から9までの値を掛けた値を出力します。

<?php

for ($i = 0; $i < 10; $i++){

$product = 10 * $i;

echo "The product of 10 * $i is $product <br/>";
}

?>

出力:

The product of 10 * 0 is 0
The product of 10 * 1 is 10
The product of 10 * 2 is 20
The product of 10 * 3 is 30
The product of 10 * 4 is 40
The product of 10 * 5 is 50
The product of 10 * 6 is 60
The product of 10 * 7 is 70
The product of 10 * 8 is 80
The product of 10 * 9 is 90

PHPのforeachループ

PHPのforeachループは、配列の値を反復処理するために使用されます。基本的な構文は以下のとおりです。

<?php
foreach($array_variable as $array_values){

block of code to be executed

}
?>

ここに、

  • 「foreach(…){…}」 foreachループブロックのコードです
  • 「$array_variable」 ループされる配列変数です
  • 「$array_values」 これは、現在の配列項目の値を保持する一時変数です。
  • 「コードブロック…」は配列の値を操作するコードです

使い方。 以下のフローチャートは、foreachループの動作原理を示しています。

PHP For Each ループ

実例。 以下のコードは、foreachループを使用して配列の要素を読み込み、出力します。

<?php

$animals_list = array("Lion","Wolf","Dog","Leopard","Tiger");

foreach($animals_list as $array_values){

echo $array_values . "<br>";

}

?>

出力:

Lion
Wolf
Dog
Leopard
Tiger

ループする別の例を見てみましょう 連想配列連想配列は、アクセスキーとして英数字の単語を使用します。

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

foreach($persons as $key => $value){

echo "$key is $value"."<br>";

}

?>

名前は配列のキーとして使用され、性別は値として使用されます。

出力:

Mary is Female
John is Male
Mirriam is Female

PHPのwhileループ

whileループは、設定された条件が満たされるまで、コードブロックを繰り返し実行するために使用されます。

while ループを使用する場合

  • While ループは、特定の条件が true になるまでコード ブロックを実行するために使用されます。
  • while ループを使用して、 データベース.

while ループの種類

  • 一方を行います – 条件を評価する前に、コードのブロックを少なくとも XNUMX 回実行します。
  • その間… – 最初に状態を確認します。 true と評価された場合、条件が true である限りコード ブロックが実行されます。 false と評価された場合、while ループの実行は終了します。

whileループ。 構文は次のようになります。

<?php
while (condition){

block of code to be executed;

}
?>

ここに、

  • "その間(…){…}" while ループ ブロック コードです
  • "状態" while ループによって評価される条件です
  • 「コードのブロック…」 条件が満たされた場合に実行されるコードです

使い方。 以下のフローチャートは、whileループの動作原理を示しています。

Whileループ

具体的な例。 以下のコードは、whileループを使用して1から5までの数字を出力します。

<?php

$i = 0;

while ($i < 5){

echo $i + 1 . "<br>";

$i++;

}

?>

出力:

1
2
3
4
5

PHPのdo-whileループ

whileループとdo-whileループの違いは、do-whileループは条件が評価される前に少なくとも1回は実行されるという点です。

それでは、do-whileループの基本的な構文を見ていきましょう。

<?php
do{

block of code to be executed

} while(condition);
?>

ここに、

  • "一方を行います(…)" do-whileループブロックコード
  • "状態" while ループによって評価される条件です
  • 「コードのブロック…」 これは、do-whileループによって少なくとも1回実行されるコードです。

使い方。 以下のフローチャートは、do-whileループの動作原理を示しています。

PHP 実行しながら

具体的な例。 それでは、whileループの例を修正してdo-whileループを使用して実装し、カウンターの初期値を9に設定します。

以下のコードは、上記の修正例を実装したものです。

<?php

$i = 9;

do{

echo "$i is"." <br>";

}
while($i < 9);

?>

上記のコード出力:

9

お願い上記の例では、出力は9のみとなります。これは、設定された条件が偽と評価された場合でも、do-whileループが少なくとも1回実行されるためです。

よくあるご質問

はい。array_reverse() 関数を foreach ループと組み合わせて要素を逆順に走査するか、count($array) - 1 から開始してインデックスをゼロまで減らす for ループを使用してください。

break文は数値を引数として受け取るので、break 2; と指定すると、内側のループと外側のループの両方を同時に終了できます。これは、フラグ変数を使って外側のループを停止させるよりも簡潔です。

無限ループは、条件が偽になることがないため決して終了しません。これは多くの場合、インクリメントが欠落していることが原因です。ループ変数が各パスで変更されるようにするか、制限に達したときにブレークを追加してください。

はい。AIはループ内の繰り返し処理を検出し、それをループの外に移動することを提案したり、コードがより分かりやすくなるように、手動で実行したループをarray_mapやarray_filterなどの配列関数に置き換えたりすることができます。

はい。AIは、配列を走査する際にはインデックスベースのforループをforeachに、ループが単に値を変換または合計するだけの場合はarray_mapまたはarray_sumに書き換えることができます。その後、出力をテストしてください。