Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfen Sie die Existenz einer Eigenschaft in PHP-Objekten und -Klassen?

Wie überprüfen Sie die Existenz einer Eigenschaft in PHP-Objekten und -Klassen?

DDD
DDDOriginal
2024-10-29 21:22:02976Durchsuche

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

Überprüfung der Existenz von Eigenschaften in PHP-Objekten und -Klassen

PHP unterstützt nativ keine reine Objektvariablenprüfung. In dieser Frage werden Methoden untersucht, um festzustellen, ob eine Eigenschaft innerhalb eines PHP-Objekts oder einer PHP-Klasse vorhanden ist.

Property_exists()-Funktion

Die property_exists()-Funktion akzeptiert zwei Parameter: die Klasse Name oder Objektinstanz und der zu überprüfende Eigenschaftsname. Wenn die Eigenschaft im angegebenen Ziel vorhanden ist, gibt die Funktion true zurück, andernfalls false.

Beispiel:

<code class="php">$ob = (object) array('a' => 1, 'b' => 12); 

if (property_exists($ob, 'a')) {
    echo "Property 'a' exists in the object.";
}</code>

Isset()-Funktion

Die Funktion isset() kann auch verwendet werden, um das Vorhandensein einer Eigenschaft zu überprüfen. Beachten Sie jedoch, dass „false“ zurückgegeben wird, wenn die Eigenschaft explizit auf null gesetzt ist.

Beispiel:

<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>

Unterschied zwischen property_exists() und isset()

property_exists() prüft die Existenz einer deklarierten Eigenschaft, unabhängig von ihrem Wert. isset() prüft, ob die Eigenschaft vorhanden ist und ob der Wert nicht null ist.

Beispiel zur Veranschaulichung des Unterschieds:

<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>

Das obige ist der detaillierte Inhalt vonWie überprüfen Sie die Existenz einer Eigenschaft in PHP-Objekten und -Klassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn