我正在编写一些代码来构建计数器的关联数组。当它第一次遇到新项目时,它会创建一个新密钥并将其初始化为零。IE:
if (!array_key_exists($item, $counters)) {
$counters[$item] = 0;
}
$counters[$item]++;
然而,PHP 实际上隐含地完成了第一部分。如果我只是...
$counters[$item]++;
...然后 $counters[$item] 将评估为 NULL 并在递增之前转换为 0。显然第二种方式更简单,更简洁,但感觉有点低俗,因为 $counters[$item] 可能还不存在并不明显。在 PHP 中是首选的一种方式还是另一种方式?
相比之下,在 Python 中,惯用的方法是在您想要将自己初始化为 0 的键时使用 collections.Counter,当您想要自己初始化它们时使用常规字典。在 PHP 中,您只有第一个选项。