>我有一个带有日期字段的数据库,我想计算唯一年份的数量,然后计算每年的条目数。这是我所拥有的:
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 )
现在,如何再次遍历所有条目并汇总该特定年份的记录数?
提前致谢
您可以在同一
迭代中维护每年的计数,而不是再次循环。
我同意巴拉特的观点
尝试这样的事情:
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;
}
}
我想
补充一下@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
)
我希望这对我的英语有所帮助并原谅。