配列を反復処理するための便利な方法です。別のデータ型や初期化前の変数に対して使うとエラーになります。この構造には二種類の構文があります。関してループ処理を行います。(よって、次の反復では次の要素を見ることになります。$keyに代入します。配列の先頭要素を指すように自動的にリセットされます。reset()をコールする必要はありません。ループ内で配列ポインタを変更すると予期せぬ振る舞いを引き起こします。内部の配列ポインタを使わなくなりました。代入されることになります。配列の最後の要素を参照したままとなります。その参照を解除しておくようにしましょう。ないと、次のような目に遭うことになるでしょう。以降でしか動作しません。制する機能をサポートしていません。使用法を示すためにその他の例を示します。配列の配列の反復処理ができるようになりました。ネストした配列をループ変数に展開できます。二番目の要素が含まれます。$b\n";}?>上の例の出力は以下となります。指定する要素数を、ネストした配列の要素数より少なくしてもかまいません。その場合は、配列の残りの要素は無視されます。指定していないことに注目。"$a\n";}?>上の例の出力は以下となります。$c\n";}?>上の例の出力は以下となります。内部の配列ポインタを使わなくなりました。参照できるようになりました。これより前のバージョンでは、変数からの参照にだけ対応していました。よる展開に対応しました。