参照カウントについて PHP をテストしているときに、変数に zval コンテナがあることがわかりました。これには 2 つの属性が含まれており、1 つは refcount で、もう 1 つは is_ref
リーリー配列の参照カウントをテストすると、期待どおりの結果が返されます
array (refcount=1, is_ref=0),
array (size=2)
'意味' => (refcount=1, is_ref=0),string ' life' (length=4)
'number' => (refcount=1, is_ref=0),int 42
ただし、オブジェクトをテストするときは。質問があります?
リーリーclass1:
(refcount=1, is_ref=0),
object(A)[1]
private 'a1' => (refcount=2, is_ref) =0),null
public 'a2' => (refcount=2, is_ref=0),null
理由がよくわかりませんか?これは ##2 になりますか? 1 の代わりに。PHP 配列のような代わりに。予期されるrefcountは1のようです
そしてphpの公式マニュアルにあります。参照カウントに関する適合型の説明。php参照カウント
配列やオブジェクトなどの複合型の場合、状況は少し複雑になります。スカラー型の値とは異なり、配列およびオブジェクト型の変数は、メンバーまたはプロパティを独自のシンボル テーブルに保存します。.