Vérification de l'existence des propriétés dans les objets et classes PHP
PHP ne prend pas en charge nativement une vérification de variable d'objet pure. Cette question explore les méthodes permettant de déterminer si une propriété existe dans un objet ou une classe PHP.
Fonction Property_exists()
La fonction property_exists() accepte deux paramètres : la classe nom ou instance d'objet et le nom de la propriété à vérifier. Si la propriété existe dans la cible spécifiée, la fonction renvoie vrai, sinon faux.
Exemple :
<code class="php">$ob = (object) array('a' => 1, 'b' => 12); if (property_exists($ob, 'a')) { echo "Property 'a' exists in the object."; }</code>
Fonction Isset()
La fonction isset() peut également être utilisée pour vérifier l'existence d'une propriété. Cependant, notez qu'il renverra false si la propriété est explicitement définie sur null.
Exemple :
<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>
Différence entre property_exists() et isset()
property_exists() vérifie l'existence d'une propriété déclarée, quelle que soit sa valeur. isset() vérifie à la fois l'existence de la propriété et si la valeur n'est pas nulle.
Exemple démontrant la différence :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!