我正在使用PHP 5.3,需要为不存在的数组元素添加值。
以下是数组的示例:
$a[1] = 10;
$a[3] = 30;
以下是我想做的事情:
$a[2] += 5;
我知道array_fill()。但问题是我不知道最大范围是什么。
现在我有这个:
if (!isset($a[2])) $a[2] = 0;
$a[2] += 5;
这就是诀窍,但是,当然,如果有一种“内置”方式在PHP中执行此操作,我更喜欢这种方法。
答案 0 :(得分:0)
没有内置的php函数来处理这个问题。你必须使用你已经拥有的东西。您当前的解决方案也非常易于阅读,并且完全符合它的目的。
答案 1 :(得分:-1)
您可以在访问特定索引之前使用array_replace()设置默认值:
$a = array();
$a = array_replace(array(2 => 0), $a);
$a[2] += 5;
var_dump($a);
array(1) {
[2]=>
int(5)
}