PHP オブジェクトとクラスにプロパティが存在することをどのように確認しますか?

DDD
リリース: 2024-10-29 21:22:02
オリジナル
1035 人が閲覧しました

 How do you verify the existence of a property in PHP objects and classes?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート