JavaScript とは異なり、PHP は本質的に純粋なオブジェクト変数を持ちません。ただし、オブジェクトまたはクラス内にプロパティが存在するかどうかを確認することは、さまざまな方法を使用して行うことができます。
property_exists() 関数では、明示的な財産の存在を確認します。その構文は次のとおりです。
if (property_exists($ob, 'a'))
ここで、$ob はオブジェクトまたはクラスのインスタンスです。
または、isset() を使用して、オブジェクト内にプロパティが設定されているかどうかを確認できます。ただし、プロパティの値が null の場合、 isset() は false を返すことに注意することが重要です。
if (isset($ob->a))
違いを示す例を次に示します。
<code class="php">$ob->a = null; var_dump(isset($ob->a)); // false</code>
プロパティが存在しても、isset() は null 値のため false を返します。
<code class="php">class Foo { public $bar = null; } $foo = new Foo(); var_dump(property_exists($foo, 'bar')); // true var_dump(isset($foo->bar)); // false</code>
このシナリオでは、プロパティが定義されているため、property_exists() は true を返します。一方、isset() は値が null であるため false を返します。
以上がPHP オブジェクトにプロパティが存在するかどうかを確認するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。