ホームページ >バックエンド開発 >PHPチュートリアル >PHP サイクルと参照の落とし穴、PHP 循環参照_PHP チュートリアル

PHP サイクルと参照の落とし穴、PHP 循環参照_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:59:371678ブラウズ

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1098446.html技術記事 PHP ループと参照の落とし穴 PHP ループはコード $arr = array ( 'a'= 'a11', 'b'= 'b22', 'c'= 'c33', ); を参照します。 k = $v ){ // 何かをする } foreach ( $arr as...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。