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
Patricia Arquetteoriginal
2024-12-19 16:28:12690parcourir

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

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

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