假设我想记录一个单词出现的次数…
//Update the totals
foreach($arrayOfWords as $word) {
$totals[$word] = $totals[$word] + 1;
}
现在,想象一下,这个小代码块被调用了数百次,每次都有数十万个新词以$array words形式出现,导致关联数组$totals中有数百万个条目。尽管操作很简单(在现有值的基础上增加1),但当我们接近数百万个条目时,php速度明显减慢。
你能想出一种更好的方法来统计发生情况(最好不用数据库)吗?
最佳答案
有一种方法可以加快速度
//Update the totals
foreach($arrayOfWords as $word) {
$totals[$word]++;
}
不需要在散列中搜索同一个键两次就可以增加它的值。
另外,(只是一个注释)我不知道
$totals
的长度怎么会超过$arrayOfWords
的长度,除非您在代码的其他地方添加单词到$totals
。