Maison > développement back-end > tutoriel php > Comment accéder aux propriétés des objets imbriqués et des tableaux en PHP ?

Comment accéder aux propriétés des objets imbriqués et des tableaux en PHP ?

Patricia Arquette
Libérer: 2024-12-19 16:28:12
original
814 Les gens l'ont consulté

How to Access Nested Object and Array Properties in PHP?

Accès aux propriétés d'un objet en PHP

Lorsque vous essayez d'accéder à la valeur d'une variable dans une sortie print_r(), il est important de comprendre comment pour construire l'expression permettant de récupérer cette valeur dans le code. Pour les types de données simples, vous préfixez le nom de la variable avec $ (par exemple, $variable). Cependant, pour les types de données composés tels que les objets et les tableaux, vous devez combiner $ avec des accesseurs spécifiques.

Accès aux objets

Pour accéder aux propriétés d'un objet (par exemple, $ object->propriété), vous utilisez le "->" opérateur. La sortie de débogage que vous avez mentionnée montre une structure de données complexe :

field_image (Object) stdClass 
  handler (Object) views_handler_field_field 
    view (Object) view 
      result (Array, 2 elements) 
        0 (Object) stdClass 
          _field_data (Array, 1 element) 
            nid (Array, 2 elements) 
              entity (Object) stdClass
                field_image (Array, 1 element) 
                  und (Array, 1 element)
                    0 (Array, 11 elements)                                      
                      filename (String, 23 characters ) FILENAME.jpg
Copier après la connexion

Accès aux tableaux

Pour accéder aux éléments d'un tableau (par exemple, $array[key]), vous utilisez des crochets []. Dans l'exemple que vous avez fourni, "result" est un tableau comportant deux éléments. Accéder au premier élément en utilisant $view->result[0] vous donne un objet avec une propriété "_field_data". Cette propriété est un tableau avec un élément, "nid".

Combinaison des accesseurs

Pour accéder au nom de fichier de l'image (FILENAME.jpg), vous devez combiner les accesseurs :

$field_image->handler->view->result[0]->_field_data['nid']['entity']->field_image['und'][0]['filename']
Copier après la connexion

Cette expression représente les étapes suivantes :

  1. Commencez par $field_image.
  2. Utilisez "->" pour accéder à la propriété du gestionnaire.
  3. Utilisez "->" pour accéder à la propriété view.
  4. Utilisez "->" pour accéder au premier élément du tableau de résultats.
  5. Utilisez "[]" pour accéder à la propriété "_field_data".
  6. Utilisez "[]" pour accéder à l'élément "nid".
  7. Utilisez "->" pour accéder à la propriété "entity".
  8. Utilisez "[]" pour accéder au tableau "field_image".
  9. Utilisez "[]" pour accéder au premier élément du tableau "und".
  10. Accédez à la propriété "filename".

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