親愛なるマスターの皆様、debug_zval_dumpとxdebug_debug_zvalによって取得されるrefcountが異なるのはなぜですか?
例:
refcount はこの zval コンテナを指す変数名の数を示すとオンラインで読みましたが、なぜ結果が矛盾するのかはまだわかりません。この機能の詳細な紹介は見つかりませんでした。 。 。
しかし、私は次のルールをまとめました:
変数参照がある場合、xdebug_debug_zvalを使用した結果は、 is_ref=1;refcount=変数参照数(変数自体をカウント)となります
例えば
リーリーつまり、xdebug_debug_zval から is_red=1;refcount=2; を取得できます。
リーリー
つまり、xdebug_debug_zval から is_red=0;refcount=5; を取得できます。 debug_zval_dump について:つまり、debug_zval_dump から次を取得できます: refcount=1;
つまり、xdebug_debug_zval から is_red=0;refcount=6; を取得できます。
返信内容:
親愛なるマスターの皆様、xdebug_debug_zvalによって取得されるrefcountが異なるのはなぜですか? 例:
リーリー
refcount はこの zval コンテナを指す変数名の数を示すとオンラインで読みましたが、なぜ結果が矛盾するのかはまだわかりません。この機能の詳細な紹介は見つかりませんでした。 。 。
しかし、私は次のルールを要約しました:
xdebug_debug_zval について:
例えば
変数が参照されていない場合、xdebug_debug_zvalを使用して得られる結果は: is_ref=0;refcount=コピーされた変数の数(変数自体をカウントします)
例えば
リーリーdebug_zval_dump について:
リーリー
つまり、debug_zval_dump から次を取得できます: refcount=1;リーリー
つまり、xdebug_debug_zval から is_red=0;refcount=6; を取得できます。