PHP オブジェクトおよびクラスでのプロパティの存在検証
PHP は、純粋なオブジェクト変数のチェックをネイティブにサポートしていません。この質問では、PHP オブジェクトまたはクラス内にプロパティが存在するかどうかを判断するメソッドについて説明します。
Property_exists() 関数
property_exists() 関数は 2 つのパラメーターを受け入れます: クラス名前またはオブジェクト インスタンスと確認するプロパティ名。指定されたターゲットにプロパティが存在する場合、関数は true を返し、それ以外の場合は false を返します。
例:
<code class="php">$ob = (object) array('a' => 1, 'b' => 12); if (property_exists($ob, 'a')) { echo "Property 'a' exists in the object."; }</code>
Isset() Function
isset() 関数を使用して、プロパティの存在を確認することもできます。ただし、プロパティが明示的に null に設定されている場合は false が返されることに注意してください。
例:
<code class="php">$ob->a = null; if (isset($ob->a)) { echo "Property 'a' exists in the object, but is set to null."; } else { echo "Property 'a' does not exist in the object."; }</code>
property_exists() と isset() の違い
property_exists() は、その値に関係なく、宣言されたプロパティの存在をチェックします。 isset() は、プロパティの存在と値が null でないかどうかの両方をチェックします。
違いを示す例:
<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>
以上がPHP オブジェクトとクラスにプロパティが存在することをどのように確認しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。