Foreach は & を使用して配列 arr2 を走査し、その後再び配列を走査します。得られた結果は非常にわかりにくいです。& 走査ポインタがどのように移動するかを説明できる専門家はいないでしょうか。
コードは以下のように表示されます:
結果:
0 a
1 s
2 d
0 a a
1 s a
2 s a
2 回目のトラバース中にポインタが s に移動すると停止するのはなぜですか?
我想大声告诉你2017-07-04 13:47:55
解決策:理由:
- 2番目の
最初の
foreach
中采取了引用传递的方式,第一次循环$v
指向$arr2[0]
的存储空间,第二次指向>$arr2[1]
的存储空间,循环结束则指向$arr2[2]
収納スペース内;- では、配列の最後の要素が最後から2番目の要素の値になります
foreach
中采取了值传递的方式,第一次循环给$v
赋值了a
,即给$arr2[2]
赋值了a
,第二次同上,$arr2[2]
的值变为了$arr2[1]
的值,则$arr2
变成了[a,s,s]
参考:
最初に
- ;
2回目
foreach
结束后加一句unset($v)
- 変数を別の名前に変更します
foreach
循环不用$v
phpで配列の値を変更するためにforeachを使用する問題
- php配列クラスオブジェクト値渡し参照渡し差分
返事0