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);
我肯定有一個簡單的和更好的方式來退出這個功能,但我太傻,看看它:/ 任何暗示將不勝感激:)