假设我想记录一个单词出现的次数…

//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

10-04 17:16