循环遍历数组时出现意外输出

时间:2012-02-14 15:49:14

标签: php arrays facebook wordpress

所以我正在制作一个插件来将facebook数据输出到wordpress网站,我这样做的方法是通过json格式的图形api检索facebook数据,然后在php中解码json数据以获得数组,这是当我执行json解码数据的变量转储时返回的完整数组:

array
'data' =>

array
  0 => 
    array
      'name' => string '' (length=21)
      'start_time' => string '' (length=19)
      'end_time' => string '' (length=19)
      'location' => string '' (length=11)
      'id' => string '' (length=15)
      'rsvp_status' => string '' (length=9)
  1 => 
    array
      'name' => string '' (length=27)
      'start_time' => string '' (length=19)
      'end_time' => string '' (length=19)
      'id' => string '' (length=15)
      'rsvp_status' => string '' (length=9)
  2 => 
    array
      'name' => string '' (length=35)
      'start_time' => string '' (length=19)
      'end_time' => string '' (length=19)
      'location' => string '' (length=13)
      'id' => string '' (length=15)
      'rsvp_status' => string '' (length=9)
'paging' => 
array
  'previous' => string '' (length=224)
  'next' => string '' (length=211)

既然这是一个多维数组,我使用多个foreach循环来获取数据,如下所示:

foreach ($data as $data) {
    foreach ($data as $data) { ?>

    <div class="eventSegment">
        <h3><?php echo $data['name']; ?></h3>
        <p><?php echo strstr($data['start_time'], T, true); ?></p>
        <a href="http://www.facebook.com/<?php echo $data['id']; ?>">
            <img src="<?php echo $plugin_dir; ?>/images/rsvpfb.png" alt="RSVP on Facebook" class="RSVPfacebook" />
        </a>    
    </div>

    <?php
    }
}

endif; }  ?>

凌乱我知道;)但是我总是在最后整理我的代码,无论如何,结果完全没问题,除了两个不应该存在的数据块,$ data ['name']变量对应对他们两个人来说,没有任何约会,他们的身份也只是'h',我对此感到困惑,不知道从哪里开始寻找解决方案。

2 个答案:

答案 0 :(得分:2)

你只需要一个foreach:

假设$ data ['data']为start:

foreach ($data['data'] as $array_index => $this_data) {
   echo $this_data['name'].'<br />';
}

答案 1 :(得分:0)

您不能使用相同的变量。使用像

这样的东西
foreach($data as $key=>$value) {
 //..etc
}