PHP数组stdClass对象

时间:2014-02-04 18:14:20

标签: php arrays json foreach stdclass

我有这个数组

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

我需要回复所有id的

我试过了,

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

但没有运气

我尝试json_decode()

再次没有运气我使用php 5.5.8

我知道这项工作

echo $item[0]->id;

但我不知道有多少索引

任何想法?

4 个答案:

答案 0 :(得分:0)

也许你对foreach()感到困惑。如果这样做:

echo $item[0]->id;

然后你需要:

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

答案 1 :(得分:0)

试试这个 -

代码

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

输出

252062474
252062474
252062474

答案 2 :(得分:0)

可以循环访问此数组,并可以检索数据。正如你所说它不起作用我已经添加了以下代码来说明它如何为你生成数组。

// 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);

以上数组与您的相同

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

现在,以下代码将循环并获取数据

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

输出

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

答案 3 :(得分:0)

试试这个

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