0
我继承了从哪里获得通过,看起来像这样的API请求中传递一个字符串项目:转换字符串数组多维数组
$return = "state|city|street";
现在我需要将其转换成一个数组,上面写着
$value = "abcd"; //gets passed by user input
$result['state']['city']['street'] = $value;
传递的字符串可以包含任意数量的嵌套,我不知道密钥的前面名称。唯一一样的是分隔符。
我的前任实现的解决方案是爆炸的字符串,并建立一个新的字符串,然后的eval()的字符串:
$return = explode('|',$return);
$value = "abcd"; //gets passed by user input
$arrayString = '$result';
foreach($return as $key)
{
$arrayString .= "['".$key."']";
}
$arrayString .= '="'.$value.'";' ;
eval($arrayString);
我肯定有一个简单的和更好的方式来退出这个功能,但我太傻,看看它:/ 任何暗示将不胜感激:)