よくきたはてダ このページをアンテナに追加 RSSフィード Twitter

2008-04-30

foreachでリファレンス

ループを抜けたら $item['hoge'] が空っぽになってしまってはまりました。

http://groundwalker.com/blog/2008/02/php_foreach.html

配列の各要素を書き換えたいとき、PHP5なら、&をつけることで、要素を一時変数にコピーせずに参照することができる。

ということらしく、以下のように書くのが正しいようです。

レファレンスではまる - Devel::Bayside

こう書くこともできるYO!! PHP 4もOKOK!!

foreach (array_keys($rows) as $key) {
    $row =& $rows[$key];
    $row['hoge'] = 'fuga'; //  1行で書いてもいいYO!!
}

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/elf/20080430/1209566411
Connection: close