If I have an array which corresponds to successively recursive keys in another array, what is the best way to to assign a value to that "path" (if you want to call it that)?
For example:
$some_array = array();
$path = array('a','b','c');
set_value($some_array,$path,'some value');
Now, $some_array
should equal
array(
'a' => array(
'b' => array(
'c' => 'some value'
)))
At the moment, I am using the following:
function set_value(&$dest,$path,$value) {
$addr = "$dest['" . implode("']['", $path) . "']";
eval("$addr = $value;");
}
Obviously, this is a very naive approach and poses a security risk, so how would you do it?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…