简体   繁体   中英

PHP Array stdClass Object

I have this array

Array ( 
[0] => stdClass Object ( 
    [id] => 252062474) 
[1] => stdClass Object ( 
    [id] => 252062474) 
[3] => stdClass Object ( 
    [id] => 252062474) 
)

I need echo all of id's

I tried,

foreach($result as $item) { 
   echo $item->id;
}

but no luck

I try json_decode()

again no luck I use php 5.5.8

I know this work

echo $item[0]->id;

but i don't how many index is there

any idea?

Maybe you are confused on foreach() . If this works:

echo $item[0]->id;

Then you would need:

foreach($item as $result) {
    echo $result->id;
}

Try this-

Code

foreach($result as $p) {
    echo $p['id'] . "<br/>";
}

Output

252062474
252062474
252062474

This array could be looped through and data could be retrieved. As you are saying its not working I have added the following code to illustrate how it works right from generating the array for you.

// generating an array like you gave in the example. Note that ur array has same value
// for all the ids in but my example its having different values
$arr = array();

$init = new stdClass;
$init->id = 252062474 ;
$arr[] = $init;
$init = new stdClass;
$init->id = 252062475 ;
$arr[] = $init;
$init = new stdClass;
$init->id = 252062476 ;
$arr[] = $init;
print_r($arr);

The above array is same as yours

Array ( [0] => stdClass Object ( [id] => 252062474 )
        [1] => stdClass Object ( [id] => 252062475 ) 
        [2] => stdClass Object ( [id] => 252062476 )
      )

Now the following code will loop through and get the data as

foreach($arr as $key=>$val){
    echo $key.'  ID is :: '.$val->id;
    echo '<br />';
}

The output will be

0 ID is :: 252062474
1 ID is :: 252062475
2 ID is :: 252062476

Try this

foreach($result as $item) { 
   $item = (array)$item;
   echo $item['id'];
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM