Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP Array of a stdClass, How to get data?

I would like to print the value of [name]. I am just becoming familiar with standard defined classes and how they are called.

Based on this example and logic

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

With that. I'm trying to extract the value of name (Pebbles) out of here.

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

So I tried

echo $terms[0]->name;

Got peanuts. How do I do this?

like image 606
sandraqu Avatar asked Apr 24 '12 17:04

sandraqu


3 Answers

The only array key listed is [3] (Array ( [3] => stdClass...), so use

echo $terms[3]->name;

Even though it is a numerically indexed array, that doesn't mean it starts with an index of 0 or even has sequential keys.

Get them all with a loop:

foreach ($terms as $t) {
   echo $t->name;
}
like image 156
Michael Berkowski Avatar answered Nov 02 '22 21:11

Michael Berkowski


Correct me if I am wrong, but you can typecast them.

$terms = (array) $terms;

Will make it a normal array accessible through:

$terms[3]['name']
like image 26
Gajus Avatar answered Nov 02 '22 23:11

Gajus


You can use the following :

echo $terms[3]->name ;
like image 1
Baba Avatar answered Nov 02 '22 21:11

Baba