2012-04-24 11 views
7

Chciałbym wydrukować wartość [nazwa]. Właśnie poznaję standard defined classes i jak są one wywoływane.PHP Tablica stdClass, Jak zdobyć dane?

Na podstawie tego przykładu i logiki

$arrayobj = new ArrayObject(array('first','second','third')); 
print_r($arrayobj); 
//outputs: ArrayObject Object ([0] => first [1] => second [2] => third) 

z tym. Próbuję wyodrębnić wartość nazwy (Pebbles) stąd.

print_r($terms); 
/* outputs 
Array ([3] => stdClass Object ([term_id] => 3 [name] => Pebbles)) 
*/ 

Więc próbowałem

echo $terms[0]->name; 

Got orzeszki. Jak mam to zrobic?

Odpowiedz

4

Jedyny klucz tablicy wymienione jest [3] (Array ([3] => stdClass...), więc używać

echo $terms[3]->name; 

Mimo to numerycznie indeksowanej tablicy, to nie znaczy, że zaczyna się od indeksu 0, a nawet ma kluczy sekwencyjnych .

Pobierz je wszystkie z pętlą:

foreach ($terms as $t) { 
    echo $t->name; 
} 
+0

mnie pokonać do niego z 5 sekund ... niezły – Baba

1

można użyć następujących:

echo $terms[3]->name ; 
2

Popraw mnie jeśli się mylę, ale można je typecast.

$terms = (array) $terms; 

będzie to zwykła tablica dostępna poprzez:

$terms[3]['name'] 
0

Aby wyświetlić wartość obiektów fiel nazwa, można użyć polecenia:

echo $this[3]->name;