Maison > développement back-end > tutoriel php > Comment puis-je accéder aux propriétés d'objet PHP avec des noms illégaux comme « éléments à faire » ?

Comment puis-je accéder aux propriétés d'objet PHP avec des noms illégaux comme « éléments à faire » ?

Mary-Kate Olsen
Libérer: 2024-12-24 03:32:35
original
566 Les gens l'ont consulté

How Can I Access PHP Object Properties with Illegal Names Like

Accès aux propriétés avec des noms illégaux en PHP

Dans PHP, accéder aux propriétés d'objets avec des noms illégaux, tels que ceux contenant des tirets (-), peut être un défi. Considérons le scénario suivant :

Problème :

Vous avez récupéré un objet depuis un appel API, et malgré son var_dump révélant la présence d'une propriété "todo-items" , vous ne pouvez pas y accéder directement en utilisant $object->todo-items.

Solution :

Il existe plusieurs méthodes pour accéder à ces propriétés :

  1. Encapsulation du nom de la propriété :

    PHP vous permet d'encapsuler les noms de propriétés entre accolades pour y accéder directement. Cela fonctionne même pour les noms illégaux :

    $object->{'todo-items'}
    Copier après la connexion
  2. Affectation de variable :

    Attribuez le nom de la propriété à une variable et accédez-y à l'aide de la variable entre crochets :

    $todolist = 'todo-items';
    $object->$todolist
    Copier après la connexion
  3. Tableau Conversion :

    Convertissez l'objet en tableau en utilisant une technique comme celle employée par Zend_Config :

    public function toArray()
    {
        $array = array();
        foreach ($this->_data as $key => $value) {
            if ($value instanceof StdClass) {
                $array[$key] = $value->toArray();
            } else {
                $array[$key] = $value;
            }
        }
        return $array;
    }
    Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal