循环遍历数组并显示年份一次,几个月后
Posted
技术标签:
【中文标题】循环遍历数组并显示年份一次,几个月后【英文标题】:Loop through array and display year once, months after 【发布时间】:2012-07-29 21:08:13 【问题描述】:我正在使用 php 从 SQL 查询中检索日期,但我似乎无法理解如何根据这个相当简单的数组显示每年及其月份:
大批 ( [0] => 标准类对象 ( [monthname(wp_posts.post_date)] => 七月 [年份(wp_posts.post_date)] => 2012 ) [1] => 标准类对象 ( [月份名称(wp_posts.post_date)] => 六月 [年份(wp_posts.post_date)] => 2012 ) [2] => 标准类对象 ( [月名(wp_posts.post_date)] => 五月 [年(wp_posts.post_date)] => 2011 ) )我想要显示的是这样的:
2012 - 七月 - 六月 2011 - 可能【问题讨论】:
循环:跟踪年份,回显一次,在它改变之前不要再次回显 【参考方案1】:$myarray = array();
foreach ($array as $key => $value)
$myarray[$value->year][] = $value->monthname;
print_r($myarray);
现在你有一个这样的数组:
Array
(
[2010] => Array(
[0] => 'June',
// ...
),
[2011] => Array(
// ...
),
// ...
)
快速而肮脏的解决方案
$year = '';
foreach ($array as $key => $value)
if ($value->year != $year)
$year = $value->year;
echo $year.'<br />';
echo ' - '.$value->monthname.'<br />';
【讨论】:
那不脏,那非常好:-) 这确实非常好:) 我正要重新排列数组,但我看不出有任何理由这样做。谢谢!以上是关于循环遍历数组并显示年份一次,几个月后的主要内容,如果未能解决你的问题,请参考以下文章