在数组中循环时出现意外输出


Unexpected output when looping through an array

所以我正在制作一个插件,将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',根本没有日期,它们的id也只是'h'。我被这件事难住了,不知道从哪里开始寻找解决方案。

您只需要一个foreach:

假设$data["data"]为起始:

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

不能使用同一个变量。使用类似的东西

foreach($data as $key=>$value) {
 //..etc
}