用于添加数组索引的PHP快捷方式可能存在也可能不存在?

时间:2015-07-16 20:07:28

标签: php

这感觉非常基本,但我想我错过了一个技巧。假设我有这个:

$array[$key] += $value;

如果已设置$ array [$ key],则工作正常,但如果不是,则注意PHP未定义变量。

显然我可以做到

if (isset($array[$key]))
    $array[$key] += $value;
else
    $array[$key] = $value;

$array[$key] = (isset($array[$key])) ? $array[$key] + $value : $value;

但是我觉得可能还有更整洁的东西?

2 个答案:

答案 0 :(得分:0)

而不是isset($ array [$ foo]),使用!empty($ array [$ foo])处理现有值,else处理不存在的索引。

答案 1 :(得分:0)

如果您在求和之前知道完整的$key值是什么样的情况,那么您可以提前准备数组并仅使用+=

$array = array_fill_keys($all_keys, 0);

避免在循环中使用if / then是一件好事。

相关问题