1

我正在使用 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 中有一种“内置”方法可以做到这一点,我更喜欢这种方法。

4

2 回答 2

0

没有内置的 php 函数来处理这个问题。你必须使用你已经拥有的东西。您当前的解决方案也很容易阅读,并且完全符合它的意图。

于 2013-10-11T22:48:18.120 回答
-1

您可以在访问特定索引之前使用 array_replace() 设置默认值:

$a = array();
$a = array_replace(array(2 => 0), $a);
$a[2] += 5;
var_dump($a);

array(1) {
 [2]=>
 int(5)
}
于 2013-10-11T22:50:11.453 回答