我有几个月的数据库。我使用以下内容对类似的月份进行分组:
$Mydates = array();
while(........)
{
$date = $row['date'];
$Mydates[$date] = (isset($Mydates[$date])) ? $Mydates[$date] + 1: 1;
}
我的表包含4个数据,1月3日和2月1日。现在,此信息通过包含一年中几个月的数组运行。以下是我到目前为止的情况:
$months = array("Jan","Feb","Mar",etc........);
foreach($months as $month)
{
foreach($Mydates as $Mydate => $Number)
{
if($month == $Mydate)
{
echo $month." (".$Number.")<br />";
}else{
echo $month."<br />";
}
}
}
现在当只有Jan的时候这很好用。现在我已经添加了另一个月,我的结果显示如下:
月(3) 一月(3) 二月(1) 二月(1) 损伤 损伤 等等..... 等.....
我怎样才能让它只显示一次:
月(3) 二月(1) 损伤 等....
现在我注意到,添加的月份越多,重复的越多。有人可以看看这个并告诉我这里哪里出错吗?
答案 0 :(得分:2)
似乎$Mydates
已经汇总并且可以按月访问。如果$Mydates
foreach($months as $month) {
if(isset($Mydates[$month])) {
echo $month." (".$Mydates[$month].")<br />";
} else {
echo $month."<br />";
}
}