配列を 2 回ループします。最初に値が参照によって渡されると、配列要素の値が変更されます。2 回目でも配列の最後の要素が参照を使用せずに変更されるのはなぜですか。 ? 価値?最初のいくつかの要素は変わっていませんが、最後の要素は変わっていますか?
リーリー配列を 2 回ループします。最初に値が参照によって渡されると、配列要素の値が変更されます。2 回目でも配列の最後の要素が参照を使用せずに変更されるのはなぜですか。 ? 価値?最初のいくつかの要素は変わっていませんが、最後の要素は変わっていますか?
リーリーリーリー
最初のループの後 $v = e;//ここにはまだ参照関係があります&$arr['e'];
2 番目のループの最後から 2 番目のステップは &$v = $arr['d']; then &$arr['e'] = &$v = $arr['d']; になります。
これは、PHP リファレンスの典型的な落とし穴です。
解決策: 最初の foreach の後に
を追加するだけです。 unset($v);