ホームページ  >  記事  >  バックエンド開発  >  PHPのforeachループの詳しい説明

PHPのforeachループの詳しい説明

WBOY
WBOYオリジナル
2016-06-20 12:34:23735ブラウズ

理解を容易にするために、ここでは $array が 1 次元の関連配列、$key が配列のインデックス、$value がこのインデックスの値であると仮定します。また、それらの名前は次のとおりです。理解しやすいように、これらは $key および $value と呼ばれます。 foreach の作業プロセスをよりよく理解できるように、配列を作成しましょう。

PHP コード

  1. $array = array ( 'first' => 'ibm' , 'second' , 'hp' );

次に、$array を走査するために foreach を使用する PHP サービスをシミュレートします。

PHP コード

  1. foreach ( $array as $key => $value )
  2. echo $key '=>' ;
  3. }
  4. 最初のループ、$key = 'first'、$value = 'ibm'、この時点で、実際の foreach は $array に対して実行できない操作を実行します。 :next($array) を参照してください。配列ポインタを前方に移動します (ここでの「前方」は PHP マニュアルと同じであり、私たちが通常理解している「前方」ではありません)。次に、echo ステートメントは「first=>ibm」を出力します。
2 番目のループでは、まず配列 $array の現在のポインターが配列の末尾に到達したかどうかを判断し、到達した場合はループを終了し、そうでない場合は 2 番目のループに入ります。もちろん、最初のループに入るときにもこのような判断が行われます。$array が空の配列の場合は、ループの下のステートメントが直接実行されます。このとき、$key = '秒'、'値' = 'hp'となり、next($array)の後には「秒=>hp」が出力されます。そして、配列ポインタが終端に達したと判断し、以下のステートメントが実行されます。

ここまでで、foreach ループについてある程度理解できたはずです。もう 1 つ注意すべき点は、foreach は実際に配列要素を操作するのではなく、毎回値を渡すだけであるということです。上記の例に特有の、各配列要素の後に文字列 'company' を追加する場合、$value .= 'company' 操作は機能しません。この時点では、配列要素の値は変更されません。 $array[$key] .= 'company';

のように使用する必要があります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。