いつまで続くのか、何を書くのか、それもまた流れのままに 頭の中にまとまらないものがあるから そんなのがふと出た時に書いていく
僕のネット帳
スポンサーサイト
-----------  CATEGORY: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ページトップへ
foreachで参照(リファレンス)を使ったら次のforeachでひどいことになった
2014-03-01-Sat  CATEGORY: php
phpで配列を扱うのに便利な関数「foreach」
php5から参照が使えるようになったので使った・・ら、予期せぬ事態発生

※一番最初のforeachは参照使ってる、二番目のforeachは参照使わない
$a=array(1,0,-1);
$b=array(2,3,4);

foreach ($a as $n => &$l) {
/* なんか処理 */
}
foreach ($b as $n => $l) {
/* なんか処理 */
}
print_r($a);

これやると、

Array ( [0] => 1 [1] => 0 [2] => 4 )

っていう結果が返る。
$aの配列の3番目が-1⇒4になった。
最後の参照がそのまま生き残って次に持ち越されるみたい。
もしも
foreach ($b as $n => $l) {
if($n===1) {
break;
}
}
ってやれば、
print_r($a);は

Array ( [0] => 1 [1] => 0 [2] => 3 )

ってなる。

参照使ったらちゃんとunset($l)をやりましょう。
ページトップへ  トラックバック0 コメント0
コメント

管理者にだけ表示を許可する
 
トラックバック
TB*URL
<< 2017/09 >>
S M T W T F S
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


余白 Copyright © 2005 僕のネット帳. all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。