is there a PHP function that would create a (deep) array key from an array ? It's quite difficult to explain, see that example:
function mysterious_function($input,$keys,$value){
//...
return $output;
}
$array = array(
'hello'=>array(
'im'=>'okay'
)
);
$array = mysterious_function($array,array('hello','youre'),'beautiful');
$array = mysterious_function($array,array('ilove','the'),'haircut');
//would output
array(
'hello'=>array(
'im' => 'ok',
'youre' => 'beautiful',
),
'ilove'=>array(
'the' => 'haircut'
)
);
I don't know if this could help you:
function mysterious_function($array,$keys,$value){
$stack = "";
foreach($keys as $k){
$stack .= "['{$k}']";
}
eval("\$array{$stack} = \$value;");
return $array;
}
Yes, it's brutal :-D
Demo: http://sandbox.onlinephpfunctions.com/code/3091e831982df4f4fafca6f7e1fd05c31cdee526
Often eval()
is evil. Often there is another way to do this; by the way I hope this could help you.