迭代一个对象数组

时间:2013-12-27 20:46:31

标签: php mysql database wordpress iteration

我之前没有遇到任何问题,所以我必须忘记一些事情: 我正在抓取一组变量值对并尝试迭代并返回一些信息。代码:

$events = $wpdb->get_results("SELECT Post_id FROM wp_postmeta WHERE meta_key = 'trail' AND meta_value = ".$thisid.";" );
print_r($events);

产生

  

数组([0] => stdClass对象([Post_id] => 1150)[1] => stdClass   对象([Post_id] => 1156))

要迭代,我正在这样做:

foreach($events as $key => $val){
echo $key->$val;
}

什么都不产生。我错过了什么?

3 个答案:

答案 0 :(得分:2)

在您的示例中,$key是数组中的键,$val是该键的值。您没有名为$key的对象,并且您的所有对象都没有名称位于$val的属性。

你可以做到

foreach($events as $key => $val){
   echo $val->Post_id;
}

答案 1 :(得分:1)

foreach($events as $event){
    echo $event->Post_id;
}

答案 2 :(得分:0)

因为 - >是一个保留的"字"在php中访问一个类'方法。我很惊讶你没有收到错误。检查您是否也有错误报告。 试试这个:

foreach($events[0] as $key => $val){
    echo $key. '->' . $val;
}