2010-12-09 13 views
1

Meine var_dump ($ Galerie) sieht wie folgt aus:Daten von einem Array abrufen?

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

Und ich habe Probleme Daten von innen raus (in diesem Fall möchte ich „Bild“ Echo). Zum Beispiel:

$ Galerie [] Ausgänge

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

$ Galerie [0] zeigt

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

$ Galerie [1], $ Galerie [2] und so weiter sind leer.

Soweit ich weiß PHP $ gallery [0] [3] sollte die Arbeit tun, aber wie, wenn ich stdClass Objekt nicht echo? :/Ist $ gallery [0] ['slug'] auch noch gültig?

Vielen Dank.

Und ja - ich kann das erste Element im Array nicht ändern, es wird von Wordpress generiert, aber ich frage hier, weil es strenge PHP-Frage ist.

Prost.

Antwort

5

$gallery ist ein Array, das ein Objekt vom Typ StdClass enthält.

Sie wollen das slug Mitglied der 0 bei Index gehaltenen Objekt zuzugreifen:

$gallery[0]->slug; 
+0

Vielen Dank mein Meister! Was ist der Unterschied zwischen $ gallery [0] [slug] und #gallery [0] -> slug? – anonymous

+2

'[]' wird für Array-Indizes verwendet, '->' wird für Zugriffsmethode/Member eines Objekts verwendet. '$ gallery [0]' ist ein Objekt, also benutze '->'. – meagar

+1

slug ist eine Objekteigenschaft und Sie müssen sie als Eigenschaft verwenden, wenn $ gallery [0] [slug] das nicht funktioniert. $ gallery [0] ['slug'] wird als – RusAlex

-1

Voll Verfahrgeschwindigkeit wie:

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

Hoffnung, das hilft :) Und innen, können Sie die erste bekommen $ key, das wäre das Objekt und es tun wie $ key-> image

+0

Had to -1, das ist einfach falsch. Es wird den gleichen Fehler verursachen, den er bekommt, wenn er versucht, '$ gallery [0]' zu drucken. Das Problem ist, dass er ein Objekt in eine Zeichenfolge konvertiert, was genau das ist, was Sie tun möchten. – meagar