Maison >développement back-end >tutoriel php >Comment accéder aux propriétés d'objets avec des noms illégaux en PHP ?

Comment accéder aux propriétés d'objets avec des noms illégaux en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-19 20:15:11870parcourir

How to Access Object Properties with Illegal Names in PHP?

Accéder aux propriétés d'objets avec des noms illégaux en PHP

En PHP, rencontrer des objets avec des noms de propriétés illégaux (par exemple, contenant des traits d'union) peut poser un problème défi lors de leur accès. Abordons ce problème en explorant le cas de la récupération de la propriété todo-items à partir d'un objet renvoyé par un appel API.

Pour accéder à la propriété todo-items, accédez directement à la propriété en tant que $object->todo- les éléments échoueront en raison du caractère illégal du nom de la propriété. Au lieu de cela, nous pouvons utiliser les méthodes suivantes :

1. Syntaxe des crochets :

echo $object->{'todo-items'};

Cette syntaxe place le nom de la propriété entre accolades, permettant l'accès aux propriétés contenant des caractères illégaux.

2. Interpolation de variable :

Si le nom de la propriété est stocké dans une variable, nous pouvons utiliser l'interpolation de variable pour le récupérer :

$todolist = 'todo-items';
echo $object->$todolist;

3. Conversion de tableau :

Pour simplifier davantage l'accès à la propriété, nous pouvons convertir l'objet en tableau à l'aide d'une fonction d'assistance :

$array = toArray($object);
echo $array['todo-items'];
function toArray($object) {
    $array = [];
    foreach ($object as $key => $value) {
        if (is_object($value)) {
            $array[$key] = toArray($value);
        } else {
            $array[$key] = $value;
        }
    }
    return $array;
}

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!

Déclaration:
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