我有一个带有日期字段的数据库,我想计算每年的唯一年份数,然后计算每年的条目数。这就是我所拥有的:
while ($row = mysql_fetch_array($sql_result))
{
$Date = $row["Date"];
//DETERMINE YEARS
$Year = substr("$Date",0,4);
if (!in_array($Year, $allDates)){
$allDates[] = $Year;;
}
}
所以这给我留下了一个包含所有独特年份的数组。
Array ( [0] => 2010 [1] => 2008 [2] => 2009 [3] => 2006 [4] => 2007 [5] => 2012 [6] => 2011 [7] => 2013 )
现在我如何再次遍历所有条目并总计特定年份的记录数量?
提前致谢
答案 0 :(得分:0)
您可以在同一次迭代中维护每年的计数,而不是再次循环。
答案 1 :(得分:0)
我同意Bharat
尝试类似的东西:
while ($row = mysql_fetch_array($sql_result))
{
$Date = $row["Date"];
//DETERMINE YEARS
$Year = substr("$Date",0,4);
if (!array_key_exists($Year, $allDates)){
$allDates[$Year] = $allDates[$Year]+1;
}else{
$allDates[$Year] = 1;
}
}
答案 2 :(得分:0)
我想补充@Bharat和@Odward的答案,php中有一个名为array_count_values()
的函数。您可以在PHP文档中阅读它:
http://www.php.net/manual/en/function.array-count-values.php
您可以使用此功能:
$result = array_count_values($Year);
print_r($result);
输出应该是这样的:
Array
(
[2012] => 2
[2009] => 4
[2010] => 3
)
我希望这有助于我的英语。