ホーム > 未分類 > phpのforeachではまった

phpのforeachではまった

結論から。phpのforeachのうち、foreach($arr as &$item)は使ってはならない。

もう一度同じ$itemを使って参照ではないforeach($arr as $item)するとどうなるか?
1.まず、$itemは$arrの最後の要素を向いている。
2.foreachは$itemに$arrの最初の要素を代入しようとする。
3.$itemの向いている先、つまり$arrの最後の要素が$arrの最初の要素で上書きされる。
4.以下、同様に続いて最終的に$arrの最後の要素は最後から2番目の要素になる。

広告
カテゴリー:未分類
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。