<?php
function array_multiupdate_from_keys(array &$array, array $keys, $value){
if(!empty($keys)){
$key = array_shift($keys);
if(key_exists($key, $array)){
$array[$key] = count($keys) > 0 ? array_multiupdate_from_keys($array[$key], $keys, $value) : $array[$key] = $value;
}
}
}
$array = array(
'a' => 'a',
'b' => 'b',
'c' => array(
0 => 0,
1 => 1,
2 => array(
'foo',
'bar'
)
)
);
$array = array_multiupdate_from_keys($array, array('c', 1, 0), 'updated');
var_dump($array);
preferences:
54.8 ms | 402 KiB | 5 Q