PHPのループ。 PHP foreach ループ: 2 つの使用方法 Count while ループごとに 3 番目のエントリを実行する php

ループ ステートメントは、どのプログラミング言語でも頻繁に使用されます。 ほとんどすべての問題でループが使用されるため、学習には特に注意する価値があります。 PHP には 4 種類のループがあります。

  • while (プレフィックス条件チェック);
  • do..while (後置条件チェック);
  • のために ;
  • foreach ;

最初の 3 つのループはプログラミング言語 (C++、Pascal) の標準ループに似ており、最後の (foreach) は Perl に似ています。 最初の 3 つのループ演算子を個別に見てみましょう。最後の演算子については、別のレッスンで説明します。 各ループでは、ネストされたループ、つまりループ内のループが許可されることに注意してください。

PHPのwhileループ文

非常に単純なループ演算子で、その構文は他のプログラミング言語の構文と非常によく似ています。

PHP の構文は次のとおりです。

//複雑な論理条件が存在する可能性があります( 演算子; ) ?>

条件には、true (true) または false (false) のいずれかでなければならない式が含まれています。 条件が true の場合、中括弧内のステートメントが実行されます。 その後、条件が真実であるかどうかが再度チェックされます。 条件が false の場合、プログラムはループに入りません。 単一ステートメントの場合、中括弧は省略できます。

注記: 条件は、論理代数 &&、||、! を使用した多くの式で構成できます。 等

条件内に演算子がある場合は、それらを何らかの方法で変更する必要があり、変更しないとループが単に循環してしまうという事実に注意を払う価値があります。

while を使用する簡単な例を次に示します。

"; $i++; ) ?>

上記の例では、次の出力が生成されます。

i = 0
i=1
i=2
i=3
i=4

$i=5 は出力されないことに注意してください。 i はループの最後で増加するため、5 に達するとすぐにループに入る条件が満たされなくなります。

PHPのbreak文

ループを直ちに終了するための特別な Break ステートメントがあります。 この演算子は、条件が常に true の場合に無限ループを終了するためによく使用されます。 たとえば、上記の例は次のように記述できます。

// 条件は常に true( echo "i =".$i."
"; $i++; if($i>=5) ブレーク; ) ?>

結果は前の例と同じになります。

PHP の continue ステートメント

オペレーターは続行します。 ループの先頭に移動して現在の反復を終了しますが、ループを完全には終了しません。 例えば:

// 条件は常に true( echo "i =".$i."
"; $i++; if($i>=5) 中断; それ以外の場合は続行; ) ?>

この例の結果は前の例と同じになります。

実践が示すように、オペレーターは続けます。 そして休憩する。 多くの場合、複雑なサイクルの実装に役立ちます。

while ループの別の使用例を示します。

"; } //これら 2 つの while の結果は異なります //ポストプレフィックスとプレフィックス形式により$i=0; while (++$i //プレフィックス形式 ( echo "i =".$i."
"; } ?>

PHP の Do...while ループ ステートメント

do...while ステートメントは、通常の while ステートメントと非常に似ています。 唯一の違いは、状態を確認するのにかかる時間です。 チェックは最後に行われるため、do...while ループは少なくとも 1 回実行されます。 do...while 構文は次のとおりです。

例を見てみましょう:

"; $i++; ) while($i

その結果は、検討した最初の例と同様です。

continue 演算子に注目してください。 そして休憩する。 このようなサイクルでも使用できます。

PHPのforループ演算子

for ステートメントの構文は次のとおりです。

開始時に、変数の初期化が行われます。 Usloviya には 1 つ以上のループ終了条件が含まれている必要があります。 シャグには、各反復の最後に実行されるステートメントが含まれています。 例えば:

"; } ?>

このループの結果は前の例と同じになります。

for を使用する大きな利点は、ループ本体が見つからなくても、必要な操作がすべて shag セクションで実行されることです。 わかりやすくするために、例を示します。

", $i++); ?>

コメント: シャグではエコー機能は使用できません。

サイクルのステップと条件は非常に多様です。 たとえば、i++ ではなく、i+=5 (5 ずつ増加) と書くこともできます。

for ループの各セクションは省略できます。その場合、結果は無限ループになります。

for は continue の使用を許可します。 そして休憩する。 。

最後に、これは 2 つの等価なループ構造の例です。ただし、1 つは for で、もう 1 つは while です。

以下と同等です。

多くの場合、特定の条件が発生したときにループを早期に終了できると便利です。 ブレーク演算子はこの機会を提供します。 これは、while、do while、for、foreach、switch などの構造で動作します。

Break ステートメントは、終了するネストされた構造の数を示すオプションの数値引数を取ることができます。 数値引数のデフォルト値は 1 で、これにより現在のループが終了します。 switch ステートメントがループ内で使用されている場合、break/break 1 は switch 構造からのみ終了します。

\n"; Break 1; /* switch 構造のみを終了します。 */ case 10: echo "Iteration 10; 出かけましょう
\n"; Break 2; /* switch 構造と while ループを終了します。 */ ) ) // ($bar1 = -4; $bar1 の別の例)< 7; $bar1++) { // проверка деления на ноль if ($bar1 == 0) { echo "Выполнение остановлено: деление на ноль невозможно."; break; } echo "50/$bar1 = ",50/$bar1,"
"; } ?>

もちろん、ループを完了するのではなく、ループの反復の 1 つを単純にスキップしたい場合もあります。その場合、これは continue ステートメントを使用して行われます。

続く

ループ本体内の現在のコード ブロックの処理を停止し、次の反復に進むには、 continue ステートメントを使用します。 これは、ループを停止せず、単に次の反復に移動するという点で、break 演算子とは異なります。

continue 演算子は、break と同様に、オプションの数値引数を取ることができます。これは、ネストされたループのレベルの数で残りの反復がスキップされることを示します。 数値引数のデフォルト値は 1 で、現在のループの残りの部分のみをスキップします。

"; 続行; ) echo "50/$bar1 = ",50/$bar1,"
"; } ?>

ループの実行中、$counter 変数のゼロ値はスキップされましたが、ループは次の値で続行されたことに注意してください。

後藤

goto は無条件ジャンプ演算子です。 プログラム コードの別のセクションにジャンプするために使用されます。 プログラム内で移動する必要がある場所は、コロンが後に続くラベル (単純な識別子) を使用して示されます。 続行するには、goto ステートメントの後に目的のラベルを配置します。

goto ステートメントを使用する簡単な例:

goto ステートメントの使用にはいくつかの制限があります。 ターゲット ラベルは同じファイル内、同じコンテキスト内に存在する必要があります。つまり、関数やメソッドの境界の外側にジャンプしたり、その境界の内側にジャンプしたりすることはできません。 また、ループや switch ステートメント内にジャンプすることもできません。 ただし、これらの構造 (ループや switch ステートメント) からエスケープするために使用できます。 通常、goto ステートメントは、マルチレベルの Break ステートメントの代わりに使用されます。

"; ) echo "ループの後 - マークの前"; // 命令は実行されません end: echo "マークの後"; ?>

for ループは、プログラミング言語で最もよく使用されるループの 1 つです。 この記事では、PHP の for ループを詳しく見ていきます。

PHPのforループ演算子

PHP の for ループは、カウンターに基づいてコードのブロックを特定の回数実行します。 この場合、コードのブロックを実行する必要がある回数は、ループの本体に入る前に事前に決定されます。

for は、最も複雑なタイプのループの 1 つです。 PHP では、for ループは C と同様に動作します。 以下に構文構造を示します。

for(式1;式2;式3)ステートメント;

上記の説明では、for キーワードはループを示します。 かっこは式を定義し、実行するステートメントを定義します。

PHP では for ループはどのように機能しますか?

for ループがどのように機能するかを理解するには、これら 3 つの式を理解する必要があります。 式: expresison1 が最初のもので、ループに入る前に 1 回だけ実行されます。 それは無条件で実行されます。 これは、式がループに入る前に初めて実行されることを意味します。

Expression1 は、 Expression2 および Expression3 で使用されるカウンターを初期化するために使用されるため、初期化式と呼ばれます。

式2 ( 状態チェック) をチェックして、命令の実行が許可される条件かどうかを判断します。 初めて実行されるときは、expression1 の後、ループに入る前に実行されます。

通常、expression2 には、条件が true を返すか false を返すかをテストする条件文が含まれます。 条件が true を返した場合、ループ内に記述されたステートメントが実行されます。

Expression3 は、ループ ステートメントの後の各反復の最後に実行されます。 通常、プログラマはこれをインクリメント式と呼びます。 この式を使用して、expression1 で初期化され、expression2 で評価されたカウンターの値をインクリメントします。

3 つの式はすべてオプションです。 以下のような PHP ループを作成することもできます。

for(;;) ステートメント;

for(;式2;式3)ステートメント;

for ループ内に複数の行がある場合は、以下のように中括弧を使用します。

for(式1;式2;式3)(ステートメント1;ステートメント2;ステートメント3;)

For ループのフローチャート

最初のステップでは、expression1 が実行されます。 ブロック図をよく見ると、expression1 には条件がないことがわかります。 式 1 は、実行されるプログラムの流れと似ています。

次のステップでは、expression1 の直後に Expression2 を実行します。 ループ条件が true かどうかをチェックします。 条件が true の場合、ループは実行を継続します。それ以外の場合、スレッドはループを終了します。

式 2 が true を返した場合、3 番目のステップで for ループに記述されたステートメントが実行されます。 この後、3 番目の式 Expression3 が実行されます。

式 3 が実行された後、スレッドは式 2 を再度チェックし、式 2 が false を返すまでループが継続します。

PHP の for ループの簡単な例

1 から 10 までの数値をカンマで区切って表示する必要がある場合を考えてみましょう。 以下はコードです:

for($i=1;$i<=10;$i++) print $i.",";

または中括弧を使用すると、次のようになります。

for($i=1;$i<=10;$i++) { print $i.","; }

式 $i=1 はexpression1であり、無条件に実行されます。 Expression1 を使用して変数を $i=1 に初期化します。

Expression2 は式 $i です。

$i=1; for(;$i<=10;$i++) { print $i.","; }

$i=1; for(;$i<=10;) { print $i.","; $i++; }

for ループ内の複雑な式

for ループには 3 つの式を記述できます。 for ループ内の各式に複数のステートメントを記述することができます。 演算子はカンマで区切る必要があります。

1 から 10 までの数値を出力する前述のコードの例を見てみましょう。 式で複数の演算子を使用すると、次のコードを作成できます。

for($i=1; $i<=10; print $i . ",", $i++);

ここで、expression3 は print $i.’,’, $i++ で、2 つの演算子を組み合わせたもので、1 つは print $i です。 ','、2 番目は $ i++ です。

上は、expression3 で複数の演算子を使用した例です。 ただし、任意の式で複数の演算子を使用することもできます。 例えば:

同様に、次のコードを使用して、10 未満のすべての奇数を出力できます。

PHPの配列とforループ

PHP の for ループを使用して、配列を反復処理できます。 たとえば、さまざまな人々の名前を含む配列があるとします。 すべての名前を表示する必要があります。

$names = array("アンクル", "ジョン", "ジョイ"); $count = count($names); for($counter=0;$counter<$count;$counter++){ print $names[$counter]; }

for ループで多次元配列を使用することもできます。

$names = array(array("id" => 1, "name" => "Ankur"), array("id" => 2, "name" => "ジョー"), array("id" => 3、「名前」 => 「ジョン」),); $count = count($names); for ($counter = 0; $counter< $count; $counter++) { print "Name".$names[$counter]["name"]." ID".$names[$counter]["id"]."n"; }

入れ子になった for ループ

PHP ではネストされた for ループを使用できます。 例:

$metrix = 配列(配列(1, 2, 3), 配列(2, 1, 3), 配列(3, 2, 1),); $count = カウント($metrix); for ($counter = 0; $counter< $count; $counter++) { $c_count = count($metrix[$counter]); for ($child = 0; $child < $c_count; $child++) { echo $metrix[$counter][$child]; } }

多次元配列があり、2 つの PHP for ループを使用してその要素の値を表示します。

ネストされたループを使用する場合、子ループで親の for ループ式を使用できます。 例えば:

for ($i = 1; $i<= 5; $i++) { for ($j = 1; $j <= $i; $j++) { echo "*"; } echo "
"; }

上記のプログラムは、* 記号を直角三角形の形で出力する最も一般的なプログラムの 1 つです。

for ループでのインクリメント

上記のほぼすべての例で、最後の式であるexpression3をインクリメント命令として使用しました。 また、$i++ や $j++ など、すべての例で値を 1 ずつ増やすこともよくありました。 ただし、要件に応じてカウンターを増やすことができます。 たとえば、1 から 15 までのすべての奇数を出力するには、ループを値 1 で初期化し、15 まで繰り返し、カウンタを 2 ずつインクリメントします。

for($counter = 1; $counter<=15;$counter=$counter+2){ print $counter.","; }

上記のコードの出力は次のようになります。 1,3,5,7,9,11,13,15 」 ここでは、式 $counter=$counter+2 を使用して、カウンター変数を +2 ずつインクリメントします。

for ループを終了する

Break キーワードを使用すると、特定の条件下でループを中断できます。 これはループの一部ではなく、 for 、 foreach 、 while 、 do-while および switch ステートメントの実行を中断するために使用されます。 Break キーワードがどのように for ループを停止するかを見てみましょう。

配列内の 100 までのすべての数値を出力する簡単な例:

$series = 配列(1, 8, 5, 3, 100, 9, 7); for ($i = 0, $count = count($series); $i<= $count; $i++) { if (100 == $series[$i]) { break; } echo $series[$i] . " "; }

ここでは、配列要素の値が 100 に等しいかどうかをチェックしてループを中断します。

たとえば、 Break 1 、 Break 2 などのように深さを渡すことによって、配列内のネストされた PHP ループを中断することもできます。 以下の例を参照してください。

for ($i = 0;; $i++) ( switch ($i) ( case 1: echo "This is one"; Break 1; //これは switch ステートメントのみを中断します case 2: echo "This is two"; Break 1 ; // これは switch ステートメントのみを中断します case 3: echo "This is three " Break 2; // これは switch と for ループの両方を中断します)

ここで、break 1 は switch ステートメントを中断しますが、break 2 は現在のステートメントと親ステートメント、つまり switch と for の両方を中断します。

for ループで continue を使用する

前のセクションでは、ループから抜け出す方法を学びました。 しかし、ループの反復を 1 回スキップしてループに戻る必要がある場合はどうすればよいでしょうか? PHP にはこのための continue キーワードがあります。

奇数を出力する例を思い出してみましょう。 私たちがやったことは、ループを 1 から開始し、カウンターを 2 ずつインクリメントし、結果を出力することだけでした。 continue を使用してこの例を実装してみましょう。

for ($i = 0; $i< 20; $i++) { if ($i % 2 == 0) { continue; } echo $i . ","; }

上の例では、式 $i%2 == 0 をチェックし、それが true の場合は、 continue キーワードを使用してループの残りの部分をスキップし、式 3 ($i++) に戻り、次に式 2 ($i:

場合によっては、PHP を使用してデータベース テーブルから配列にデータを転送する必要があることがあります。

10年前

continue ステートメントを使用してループの残りの部分を省略することについての注意点です。SWITCH ケース内から continue ステートメントを発行しないように注意してください。そうすると while ループは続行されず、switch ステートメント自体が続行されます。

一部の人にはそれが明白に思えるかもしれませんが、私にとっては少しテストが必要だったので、これが他の人の助けになれば幸いです。

5年前

説明書にこう書いてあるのはおかしいのですが...
「場合によっては、while 式が最初から FALSE と評価されると、ネストされたステートメントが一度も実行されないことがあります。 」

それはできないこともあるから

そのように動作する場合、それはバグです。WHILE 式が最初から FALSE と評価された場合は、ネストされたステートメントを 1 回でも実行してはなりません。

while ループを終了するもう 1 つの方法は、BREAK ステートメントを使用することです。マニュアルを参照してください。

式が NULL と評価される場合は FALSE と同じです
while (式は NULL に評価されます)( )

14年前

スチュアートへの構造上のメモです。この動作の理由は、 while(value = each(array)) を使用すると、ループ処理中に配列の内部カウンターがインクリメントされるためです。 したがって、ループを繰り返す場合は、カウンターをリセットする必要があります。 例えば:

$one = array("10", "20", "30", "40");
$two = array("a", "b", "c", "d");

$i=0;
while($i< count($one)) {
リセット($two);
while($a = each($two)) (
echo $a." - ".$one[$i].", ";
}
$i++;

a - 10、b - 10、c - 10、d - 10、a - 20、b - 20、c - 20、d - 20、a - 30、b - 30、c - 30、d - 30、a - 40、b-40、c-40、d-40、

15年前

他の何かがファイルにアクセスしている間に、ファイルへの書き込みをキューに入れる必要がある場合、while は驚くべきことを行うことができます。

これが私の簡単な例です:

関数書き込み ($data, $file, $write_mode = "w") (
$lock = $file 。 "。ロック" ;
// 書き込み修正を実行して、発生する可能性のあるクラッシュを停止します。
write_fix($lock);
// この書き込みセッション用に write_fix() の後に新しいロック ファイルを作成します
タッチ ($lock);
// ファイルに書き込みます
$open = fopen($file, $write_mode);
fwrite ($open, $data);
fclose($open);
// 現在のロックを強制終了します
リンクを解除します ($lock);
}

関数 write_fix ($lock_file) (
while(file_exists ($lock_file )(
// ここで何かしますか?
// おそらく数マイクロ秒間スリープします
// 安定性を維持するため、これが行われる場合は
// しばらく時間がかかります ??
}
}

?>

while 関数は多くのプロセス サイクルを消費するため、ファイルへの書き込みに数秒かかるプログラムでこの方法を使用することはお勧めできません。 ただし、この方法は機能し、実装は簡単です。 また、書き込み機能が 1 つの使いやすい機能にグループ化され、作業が容易になります。 :-)

17年前

while (list / each) ループの終わりには、配列ポインターが最後になります。
これは、その配列の 2 番目の while ループがスキップされることを意味します。

配列ポインタは、reset($myArray) 関数を使用して元に戻すことができます。

$myArray =array("aa" , "bb" , "cc" , "dd" );
リセット($myArray);
while (list ($key , $val ) = each ($myArray )) echo $val ;
?>

7年前

この使用法の代わりに;

$arr = array("オレンジ" , "バナナ" , "リンゴ" , "ラズベリー" );

$i = 0 ;
一方 ($i< count ($arr )) {
$a = $arr [ $i ];
$a をエコーし​​ます。 "\n" ;
$i++;
}
// または
$i = 0 ;
$c = カウント($arr);
一方 ($i< $c ) {
$a = $arr [ $i ];
$a をエコーし​​ます。 "\n" ;
$i++;
}
?>

これはより効率的である可能性があります。

while ($a = $arr [ 1 * $i++]) $a をエコーし​​ます。 "\n" ;
?>

16年前

配列 (単純ですが、数字キーを持つ長い数値配列) を走査するテストを作成しました。 私のテストではメソッドごとにサイクルがあり、各配列要素を 100 倍しました。結果は次のとおりです。

******************************************************
30870 要素配列の横断


0.2373 秒後 -> while (list ($key, $val) = each ($array)) ENDS


0.1916 秒後 -> while (list ($key,) = each ($array)) ENDS


0.1714 秒後 -> foreach ($array AS $key=>$value) ENDS


0.0255 秒後 -> while ($next = next($array)) ENDS


0.1735 秒後 -> foreach ($array AS $value) ENDS
**************************************************************

foreach は while (list - each) よりも太く、true です。
ただし、while(next) は foreach よりも高速でした。

優勝したコードは次のとおりです。

$array = $save;
テスト時間("",1);
foreach ($array AS $key=>$value)
test_time("foreach (\$array AS \$key=>\$value)");

$array = $save;
テスト時間("",1);
リセット($array);
while ($next = next($array))
( $key = キー($array);
$array[$key] = $array[$key] * 100;
}
test_time("while (\$next = next(\$array))");
*********************************************************
大幅な改善のように見えますが、実際にはそれほど劇的ではありません。 結果はさまざまでした...私は非常に長い 2 次元配列を使用しており、140 秒以上のスクリプトでは 2 秒以上の差は見られませんでした。 ただし、$key 値を制御できなくなることに注意してください (数字キーがある場合を除き、私は数字キーを避ける傾向があります)。これは必ずしも必要なわけではありません。

私は通常、foreach に固執します。 ただし、今回は、Apache で「Allowed Memory Size Exceeded」エラーが発生していました。 foreach は元の配列をコピーするので、メモリ内に 2 つの巨大な 2D 配列が作成され、Apache にとって多大な作業が必要になることに注意してください。 このエラーが発生した場合は、ループを確認してください。 foreach で配列全体を使用しないでください。 代わりにキーを取得してセルに直接アクセスします。 また、巨大な配列に対して unset と Reference を使用してみてください。

配列とループを操作することは、一時テーブルに保存して設定を解除する (はるかに時間がかかります) よりもはるかに優れた回避策です。

14年前

スピードテストは面白いですね。 しかし、一見最速の方法には、速いからかっこいいからという理由だけでそれを使用する初心者にとって落とし穴が含まれています ;)

next() で配列を調べると、最初のエントリが切り取られます。これが next() の動作方法であるためです ;)

本当にこの方法で行う必要がある場合は、配列の先頭に空のエントリが含まれていることを確認してください。 別の方法は、使用することです

while ($this = 現在の ($array ))(
do_something($this);
次($array);
}
?>

確かに速度に影響はありますが、テストはしていません。 while ループ内の current(),next() はエラーが発生しやすいため、従来の方法に固執することをお勧めします。

4年前

テストに不合格になるまで何かを評価し続けるクールな方法。

一方 (真) (
if ("テスト" ) ( // 初期条件は true
// 初期条件も変更する何かを行う
) else ( // 条件が失敗しました
壊す; // ループを離れる
}
}
?>

4年前

while ループを使用した簡単なピラミッド パターン プログラム
$i = 1 ;
while($i<= 5 )
{
$j = 1 ;
while($j<= $i )
{
エコー "*  " ;
$j++;
}
エコー "
" ;
$i++;
}
?>
// あるいは、以下を使用することもできます。
$i = 1 ;
while($i<= 5 ):

$j = 1 ;
while($j<= $i ):
エコー "*  " ;
$j++;
終わりの間に;

エコー"
" ;
$i++;
終わりの間に;
?>

11年前

php は結果を取得するために必要な要素のみを解釈するため、さまざまな SQL クエリを 1 つのステートメントに連結すると便利であることがわかりました。

$q1 = 「一連のテーブルに対するクエリ」;
$q2 = 「別のテーブルセットに対する同様のクエリ」;

if (($r1 = mysql_query ($q1 )) && ($r2 = mysql_query ($q2 ))) (

While (($row = mysql_fetch_assoc ($r1 ))||($row = mysql_fetch_assoc ($r2 ))) (

/* $r1 と $r2 からの $row を使って何かをします */

}
}

?>

3年前

// While Vs For php 5.6.17 をテストします

$t1 = マイクロタイム(true);
$a = 0 ;
while($a++<= 1000000000 );
$t2 = マイクロタイム(true);
$x1 = $t2 - $t1 ;
エコー PHP_EOL 、 " > while($a++<= 100000000); : " 、 $x1 、 "s" 、 PHP_EOL ;

$t3 = マイクロタイム(true);
for($a = 0 ; $a<= 1000000000 ; $a ++);
$t4 = マイクロタイム(true);
$x2 = $t4 - $t3 ;
エコー PHP_EOL 、 "> for($a=0;$a<= 100000000;$a++); : " 、 $x2 、 "s" 、 PHP_EOL ;

$t5 = マイクロタイム(true);
$a = 0 ; for(; $a++<= 1000000000 ;);
$t6 = マイクロタイム(true);
$x3 = $t6 - $t5 ;
エコー PHP_EOL 、 " > $a=0; for(;$a++<= 100000000;); : " 、 $x3 、 "s" 、 PHP_EOL ;

//> while($a++<= 100000000); = 18.509671926498s
//> for($a=0;$a<= 100000000;$a++); = 25.450572013855s
//> $a=0; for(;$a++<= 100000000;); = 22.614907979965s

// ===================

//> while($a++ != 100000000); : 18.204656839371秒
//> for($a=0;$a != 100000000;$a++); : 25.025605201721秒
//> $a=0; for(;$a++ != 100000000;); : 22.340576887131秒

// ===================

//> while($a++< 100000000); : 18.383454084396s
//> for($a=0;$a< 100000000;$a++); : 25.290743112564s
//> $a=0; for(;$a++< 100000000;); : 23.28609919548s

?>

16年前

これは、すべての電卓作成者にとって階乗計算を実行させる簡単な方法です。 コードは次のとおりです。

$c = ($a - 1 );
$d = $a ;
while ($c >= 1 )
{
$a = ($a * $c );
$c --;
}
print (" $d ! = $a " );
?>

$a が変更され、c も変更されるため、end ステートメント用に新しい変数 $d を作成する必要があります。

スクリプトを作成するとき、同じアクションを複数回実行する必要があることがよくあります。 これがサイクルの目的です。 PHPのループ他の言語と同様に、いくつかのタイプに分類されます。

  1. for カウンタを使用したループ
  2. while、do-while 条件によるループ
  3. 配列 foreach を走査するループ

たとえば、オンライン ストアを作成する場合、画面に商品を表示する前に、在庫残高が 10 未満の商品を削除する必要があります。これを行うには、 配列をループする商品を使用し、条件演算子 if を使用して、倉庫内の商品の数を確認し、倉庫内の値が 10 未満であるすべての商品を配列から削除します。

PHPのforループ

for カウンタを使用したループ- 一定の回数実行されました。 例を見てみましょう:

"; } ?>

この例では、ループが 11 回実行されます。 0 (変数 $i = 0 のため) から 10 ($i のため)<= 10). Каждую итерацию $i будет увеличено на 1 ($i++). Чтобы было понятней, сделаем еще один пример:

"; } ?>

ループは 5 から 9 まで実行されます($i< 10 (в предыдущем примере было <= 10)).

ループは逆の順序で実行することもできます。

5; $i--) ( echo "反復番号: $i
"; } ?>

サイクルは 10 から 5 まで実行されます。

このサイクルは特定のステップで実行することもできます。例を見てみましょう。

"; } ?>

ループは 5 ステップで 3 回の反復 (0、5、10) を実行します。反復ごとに、ループ カウンターは 5 ずつ増加します。

PHPのforeachループ

foreach ループ- 最も一般的なサイクル。 ほとんどすべてのスクリプト、特に PHP スクリプトがデータベースで動作する場合に必要です。 配列を走査するために使用されます。

たとえば、小さな例を見てみましょう。

$value) ( echo "キー: $key、値: $value
"; } ?>

スクリプトを実行すると、次のように表示されます。

キー: 0、値: 赤 キー: 1、値: 青 キー: 2、値: 緑 キー: カラー、値: 黄 キー: テスト、値: design studio ox2.ru

PHPのwhileループ

while ループ条件が満たされる限りループを実行するために使用されます。 条件が満たされない場合、ループに入ります。

例を見てみましょう:

"; } ?>

画面には1から19までの数字が表示されます

PHP の Do-while ループ:

サイクル 一方を行います- とまったく同じように動作します while ループ唯一の違いは、反復後に条件が満たされることです。 例を書いてみましょう:

"; ) while ($i< 20); //Выполняем цикл до те пор, пока $i < 20 ?>

画面には 1 から 20 までの数字が表示されます。前の例では次の点に注意してください。 while ループは 1 から 19 まででした。 ループの反復前に条件が満たされました。

するために サイクルを断ち切る存在します ブレーク機能、彼女は許可します ループから抜け出す、ループの終わりまでにどれだけの反復が残っているかは関係ありません。

反復をスキップして次の反復に進むには、次のようにします。 コンティニュー機能.

Web サイトを作成するときは、サイトの作成コストや機能などに関係なく、ほとんどの場合サイクルが使用されます。 だから真剣に受け止めてください!

スクリプトを作成するとき、同じアクションを複数回実行する必要があることがよくあります。 これがサイクルの目的です。 他の言語と同様に、PHP のループはいくつかのタイプに分類されます。 for カウンターを使用したループ while、do-while 条件を使用したループ 配列 foreach を走査するループ

OX2 2014-10-02 2014-10-02