1. ホーム
  2. php

[解決済み] PHP は、プロパティがオブジェクトまたはクラスに存在するかどうかをチェックします。

2022-02-27 23:19:43

質問

PHP には純粋なオブジェクト変数がないことは理解していますが、 あるプロパティが与えられたオブジェクトやクラスにあるかどうかを チェックしたいのです。

$ob = (object) array('a' => 1, 'b' => 12); 

または

$ob = new stdClass;
$ob->a = 1;
$ob->b = 2;

JS, という変数があるかどうかを調べるには、こう書けばいい。 a はオブジェクトに存在する。

if ('a' in ob)

PHPです。 このようなことは可能なのでしょうか?

どのように解決するのですか?

property_exists( mixed $class , string $property )

if (property_exists($ob, 'a')) 


isset( 混合 $var [, 混合 $... ] )

注意事項 : 注意すること isset() は、プロパティが NULL の場合、false を返します。

if (isset($ob->a))


例1.

$ob->a = null
var_dump(isset($ob->a)); // false

例2:

class Foo
{
   public $bar = null;
}

$foo = new Foo();

var_dump(property_exists($foo, 'bar')); // true
var_dump(isset($foo->bar)); // false