我被困在生成字符串多維數組中,我需要你的幫助。 這是字符串(JSON):從爆炸字符串生成多維數組
{
"API_OVERVIEW" : "Overview",
"API_OVERVIEW_CON1" : "API v1 offers a simple REST API to retrieve information about our markets. The API responses are JSON encoded arrays. Please be aware that calls to the API are rate limited to 10 requests per second, any requests exceeding this rate will be met with a HTTP 503 response.",
"API_REFERENCE" : "API Reference",
"API_MARKET_SUMMARY" : "Market Summary",
"API_MARKET_STATS" : "Market Stats",
"API_MARKET_TRADES" : "Market Trades",
"API_MARKET_ORDERS" : "Market Orders",
"API_MARKET_CHARTDATA" : "Market Chart Data",
}
現在我需要通過「_」爆炸的key
並將其轉換爲多維數組,然後在最後,我需要設置的值。 輸出應該是這樣的:
"API" =>
[
"MARKET" =>
["SUMMARY" => "Market Summary"],
["STATS" => "Market STATS"]
...
]
"ANOTHER STRING" =>
[
....
]
目前,我得到這個:
array(1) {
["API"]=>
array(1) {
["MARKET"]=>
array(1) {
["SUMMARY"]=>
string(14) "Market Summary"
}
}
}
[8]=>
array(1) {
["API"]=>
array(1) {
["MARKET"]=>
array(1) {
["STATS"]=>
string(12) "Market Stats"
}
}
}...
這是我的代碼:
$results = [];
foreach($data as $key => $value){
$result = [];
$exploded = explode('_', $key);
$path = &$result;
$counter = 1;
foreach($exploded as $explodedpart){
if(!array_key_exists($explodedpart, $path)){
if($counter == count($exploded)){
$path[$explodedpart] = $value;
}else{
$path[$explodedpart] = array();
}
}
$path = &$path[$explodedpart];
$counter++;
}
array_push($results, $result);
}
return $results;
理念從這個答案採取:https://stackoverflow.com/a/8993400/1672261
請發佈您的json字符串。 – Amy
請發佈您的精確json字符串 –
它已更新,它實際上是Angular的翻譯文件,只是一個短的文件 – Alen