0

PHP を使用して SQL クエリから日付を取得していますが、この単純な配列に基づいて各年とその月を表示する方法がわかりません。

配列
(
    [0] => stdClass オブジェクト
        (
            [月名(wp_posts.post_date)] => 7月
            [年(wp_posts.post_date)] => 2012
        )

    [1] => stdClass オブジェクト
        (
            [月名(wp_posts.post_date)] => 6月
            [年(wp_posts.post_date)] => 2012
        )

    [2] => stdClass オブジェクト
        (
            [月名(wp_posts.post_date)] => 5月
            [年(wp_posts.post_date)] => 2011
        )

)

私が表示したいのはこれです:

2012年
- 7月
- 六月
2011年
- 5月
4

1 に答える 1

3
$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 />';
}
于 2012-07-29T21:12:26.097 に答える