在多维数组中插入数组

时间:2015-04-08 07:41:25

标签: php

我有一个看起来像这样的数组。

Array
(
    [consultant] => Array
        (
            [John Smith] => Array
                (
                    [General] => Array
                        (
                            [PCA] => 0
                            [NCA] => 0
                        )
                )
        )
)

如何将数组追加到PCA代替0

看起来像这样。

Array
(
    [consultant] => Array
        (
            [John Smith] => Array
                (
                    [General] => Array
                        (
                            [PCA] => Array
                                (
                                    [Motor Block] => 0
                                )
                            [NCA] => 0
                        )
                )
        )
)

http://sandbox.onlinephpfunctions.com/code/d9b20040517e557fe93fdf1208079a619dcc213b

1 个答案:

答案 0 :(得分:3)

只需从数组结构中找到正确的路径,并将数组分配给此键:

$array['consultant']['John Smith']['General']['PCA'] = array('Motor Block'=>0);

如果您想将密钥0上的值PCA更改为此数组,无论此值有多深,请使用array_walk_recursive

function change(&$v,$k){
    if($v == 0 && $k == 'PCA'){
        $v = array('Motor Block'=>0);
    }
}
array_walk_recursive($array,'change');

http://sandbox.onlinephpfunctions.com/code/3af10b9c88dcbc1af474a743a6c4a7cf5687f3ba