循环遍历数组并显示年份一次,几个月后

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 />';

【讨论】:

那不脏,那非常好:-) 这确实非常好:) 我正要重新排列数组,但我看不出有任何理由这样做。谢谢!

以上是关于循环遍历数组并显示年份一次,几个月后的主要内容,如果未能解决你的问题,请参考以下文章

jQuery循环遍历多维数组并显示每个父数组的子数组

For循环遍历数组仅显示最后一个值

js怎么遍历json的数组并输出到html中

循环遍历数组并在下拉列表中显示 - Angular

如何循环遍历对象数组中的对象数组并使用 Angular/Ionic 在我的 HTML 中显示?

将输入字段推送到数组并循环遍历