为不存在的数组元素添加值

时间:2013-10-11 22:42:19

标签: php arrays

我正在使用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中执行此操作,我更喜欢这种方法。

2 个答案:

答案 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)
}