Accéder aux propriétés avec des noms non valides en PHP
Accéder aux propriétés avec des noms non conventionnels ou invalides peut poser un défi en PHP. Un tel scénario se produit lorsque vous travaillez avec des objets définis en externe, où les noms de propriété sont conformes aux spécifications d'une API tierce.
Le problème de nom de propriété non valide
Considérez le code suivant :
$insertArray = array(); $insertArray[0] = new stdclass(); $insertArray[0]->Name = $name; $insertArray[0]->PhoneNumber = $phone;
Ce code attribue des valeurs aux propriétés nommées "Name" et "PhoneNumber" de l'objet stdClass dans insertArray. Toutefois, si le service externe définit une propriété avec un nom non valide, tel que « First.Name », l'utilisation de la syntaxe à points (par exemple, $insertArray[0]->First.Name) entraînera une erreur de syntaxe.
Solution : Syntaxe complexe (bouclée)
PHP fournit une solution grâce à une syntaxe complexe (bouclée), qui permet d'accéder aux propriétés avec des noms non standards. Au lieu d'utiliser la syntaxe par points, placez le nom de la propriété entre accolades :
$insertArray[0]->{"First.Name"} = $firstname;
Cette syntaxe permet d'accéder aux propriétés avec des noms ou des caractères non valides qui autrement provoqueraient des erreurs de syntaxe. Les accolades agissent comme un délimiteur, vous permettant de spécifier le nom de la propriété exactement tel que défini par le service externe.
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!