2010-12-09 44 views
1

Mon var_dump (galerie de $) ressemble à ceci:Récupérer des données d'un tableau?

array(1) 
     { [0]=> object(stdClass)#102 (9) { 
      ["term_id"]=> string(2) "17" 
      ["name"]=> string(5) "Image" 
      ["slug"]=> string(5) "image" 
      ["term_group"]=> string(1) "0" 
      ["term_taxonomy_id"]=> string(2) "19" 
      ["taxonomy"]=> string(18) "gallery" 
      ["description"]=> string(0) "" 
      ["parent"]=> string 
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus et    tempus tellus. Integer euismod, est et ultricies tristique, urna ipsum    semper elit, pharetra cursus ligula turpis sed libero. Vestibulum ante    ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;    Suspendisse pellentesque orci sed tellus hendrerit a auctor augue    commodo. Ut nibh lacus, … 
      Read more... 
      (1) "0" 
      ["count"]=> string(1) "1" 
      } 
     } 

Et je vais avoir du mal à obtenir des données de l'intérieur (dans ce cas, je veux faire écho « image »). Par exemple:

galerie $ [] sorties

Fatal error: Cannot use [] for reading in [source file url]

galerie $ [0] montre

Catchable fatal error: Object of class stdClass could not be converted to string in [source file url]

galerie $ [1], $ galerie [2] et ainsi de suite sont vides.

Pour autant que je sais galerie PHP $ [0] [3] doit faire le travail, mais comment, si je ne peux pas faire écho objet stdClass? :/Est-ce que $ gallery [0] ['slug'] est aussi valide btw?

Merci beaucoup.

Et oui - je ne peux pas changer le premier élément du tableau, il est généré par Wordpress, mais je me pose ici parce qu'il est question stricte de PHP.

Cheers.

Répondre

5

$gallery est un tableau contenant un objet de type StdClass.

Vous voulez accéder au membre slug de l'objet tenu à l'index 0:

$gallery[0]->slug; 
+0

Merci mon maître! Quelle est la différence entre $ gallery [0] [slug] et #gallery [0] -> slug? – anonymous

+2

'[]' est utilisé pour les indices de tableau, '->' est utilisé pour la méthode d'accès/membre d'un objet. '$ gallery [0]' est un objet, utilisez '->'. – meagar

+1

slug est une propriété d'objet et vous devez l'utiliser comme propriété si $ gallery [0] [slug] ne fonctionnera pas. $ gallery [0] ['slug'] sera – RusAlex

-1

comme la pleine traversée:

foreach ($gallery as $key=>$value) 
{ 
    print $key; 
    print $value; 
} 

Hope qui aide :) Et à l'intérieur, vous pouvez obtenir le premier $ clé qui serait l'objet et faites-le comme $ key-> image

+0

A -1, c'est faux. Il va provoquer la même erreur qu'il obtient quand il essaye d'imprimer '$ gallery [0]'. Le problème est qu'il convertit un objet en une chaîne, ce qui est exactement ce que vous essayez de faire. – meagar