所以我正在制作一个插件,将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
}