PHP で一般的に使用されるループ ステートメントはほんのわずかですが、これら 4 つのタイプは開発中によく使用されるループ ステートメントでもあります。必要な方はこのチュートリアルを 1 つずつ参照してください。このステートメントの使用法について話します。
Foreach ステートメント
Foreach ループは php4.0 で導入され、配列にのみ使用できます。 php5 では、オブジェクトのサポートが追加されました。このステートメントの構文形式は次のとおりです:
foreach($value としての配列式)
ステートメント;
または
コードは次のとおりです |
コードをコピー |
Foreach(array_expression as $key => $value)
ステートメント;
FOREACH ($array_variable を $value として)
{
[実行するコード]
}
か
FOREACH ($array_variable as $key => $value)
{
[実行するコード]
}
|
どちらの場合も、$array_variable の配列要素の数に等しい複数の [コード実行] が強制終了されます。
例を見てみましょう。次のコード スニペットがあるとします。
コードは次のとおりです |
コードをコピー |
$array1 = 配列(1,2,3,4,5);
FOREACH ($array1 を $abc として)
{
print "新しい値は " . $abc*10 . ";
}
結果を出力する
新しい値は10です
新しい値は 20 です
新しい値は 30 です
新しい値は 40 です
新しい値は 50 です
|
上記の foreach ループは、配列 $array1 の 5 つの要素すべてを処理し、毎回配列要素の 10 倍の値を含むステートメントを出力します。
foreach の機能は、現在の配列のすべての値を走査し、それらを $var
に割り当てることです。
多次元データを操作する foreach の例を見てみましょう
コードは次のとおりです
コードをコピー |
|
$s = 配列(配列(1,2),配列(3,4),配列(5,6));
foreach( $s as $v => $_v )
{
foreach( $_v as $vc => $_vc )
{
echo $_vc[0],'|'.$_vc[1],' ';
//print_r($_vc);
}
}
|
詳細については、http://www.bKjia.c0m/phper/18/foreach-foreach.htm を参照してください。
ステートメント
最も基本的なトラバーサル
コードは次のとおりです
コードをコピー
|
|
/* 例 1 */
for ($i = 1; $i
エコー $i;
}
/* 例 2 */
for ($i = 1; ; $i++) {
If ($i > 10) {
休憩;
}
エコー $i;
}
/* 例 3 */
$i = 1;
( ; ; ) {
If ($i > 10) {
休憩;
}
エコー $i;
$i++;
}
/* 例 4 */
for ($i = 1, $j = 0; $i
?>
配列をトラバース
コードは次のとおりです |
コードをコピー |
/*
* これは変更したいデータを含む配列です
* for ループを実行するとき。
*/
$people = 配列(
Array('name' => 'Kalle', 'salt' => 856412),
Array('name' => 'ピエール', 'salt' => 215863)
);
for($i = 0; $i
{
$people[$i]['salt'] = ランド(000000, 999999);
}
?>
|
ながら見て、しながらをする
loop は PHP で最も単純なループ ステートメントですが、その構文形式は次のとおりです:
コードは次のとおりです
| コードをコピー
|
ながら (式){
ステートメント;
}
|
expressionの値がtrueの場合、statementステートメントが実行され、実行完了後はexpressionに戻り判定を続けます。式が false と評価されるまで、ループは終了しません。
コードは次のとおりです
| コードをコピー
|
/* 例 1 */
$i = 1;
while ($i
echo $i++; /* 出力される値は次のようになります
増分の前の $i
(インクリメント後) */
}
/* 例 2 */
$i = 1;
while ($i
エコー $i;
$i++;
最後に;
?>
|
Do…while ステートメント
while ステートメントには別の形式の Do...while もあります。構文は次のとおりです。
する{
ステートメント;
}while(式);
2 つの違いは、Do...while ステートメントは While ステートメントよりも 1 回多くループすることです。
While 式の値が false の場合、while ループは現在のループから直接飛び出しますが、Do...while ステートメントは最初にプログラム ブロックを実行してから式を判断します。
例
コードは次のとおりです
コードをコピー |
|
やります{
If ($i
エコー「私は十分に大きくありません」;
休憩;
}
$i *= $factor;
If ($i
休憩;
}
エコー「大丈夫です」;
/* 処理 i */
} しながら (0);
?>
|
http://www.bkjia.com/PHPjc/629268.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629268.html技術記事 PHP でよく使用されるループ ステートメントは、while、do while、for()、foreach の 4 つだけです。必要な場合は、この記事を参照してください。