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