我有一个看起来像这样的数组。
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
答案 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