从另一个数组添加到多维数组

时间:2013-12-05 05:24:11

标签: php arrays multidimensional-array

我正在试图弄清楚我会怎么做,基本上我希望函数添加到以下数组中:

$this->array['key1']['key2']['key3'] = 'value'

来自像$ this-> keys这样的单维数组:

Array
(
    [0] => key1
    [1] => key2
    [2] => key3
)

我的功能是:

function addToArray($value) {
 $this->array = ...
}

我有一些使用foreach $this->keys的想法,但我不知道在向其添加新值时如何保留现有数组。

$ keys在单独的函数中维护

例如:

foreach ($this->keys as $key) {
  $array = $this->array[$key]
}
$array = $value;

但这会创建一个新的单维数组,而不会添加到多维$ this->数组。也许我只是没有正确思考。

1 个答案:

答案 0 :(得分:2)

尝试以下内容:

function addToArray($value){
    $tempArray = &$this->array;
    foreach($this->keys as $key){
        $tempArray = &$tempArray[$key];
    }
    $tempArray = $value;
}