ホームページ >バックエンド開発 >PHPチュートリアル >PHP サイクルと参照の落とし穴、PHP 循環参照_PHP チュートリアル
コードをアップロードする
リーリーこのコードを使用すると、var_dump は何を出力しますか? 試してみてください。その答えは何ですか? リーリー
結果では、3行目がkey='b'の値になります。問題は最初の循環参照にあります。今日私はそのような落とし穴に足を踏み入れましたが、問題を確認するのに長い時間がかかりました。簡単に言うと、foreach ループで使用された参照は、ループが終了した後も保持されます。
警告
$valueの参照と最後の配列要素はforeachループ後も残ります。unset().で破棄することをお勧めします。
上記の例では、最初のループが終了した後も $v 参照が存在します。2 つのループの変数の名前は同じであるため、2 番目のループが開始されるたびに $v に値が割り当てられます。 $v はに設定されます
前の要素の値。原理は非常にシンプルで、ドキュメントは明確に書かれていますが、作業中に関連するバグに遭遇した場合、それを見つけるのは非常に困難であり、コードを記述する必要がある場合には注意してください。 :
1. 引用符の使用を減らす
2. foreah で参照を使用する必要がある場合は、関数でカプセル化する必要があります
http://www.bkjia.com/PHPjc/1098446.html