我的代碼是:$xml = simplexml_load_file('http://www.floatrates.com/daily/gel.xml'); $cur = array($xml);$array = json_decode(json_encode($cur), true);$newArr = [];foreach ($array as $value) { foreach($value['item'] as $key){ array_push($newArr, [ $key['targetCurrency'] => $key ]); print '<pre>'; print_r($newArr); print '</pre>'; }}輸出為https://prnt.sc/terpnc我需要像這個例子一樣:[USD] => Array( [title] => 1 GEL = 0.32613048 USD [link] => http://www.floatrates.com/gel/usd/ [description] => 1 Georgian lari = 0.32613048 U.S. Dollar [pubDate] => Thu, 9 Jul 2020 12:00:01 GMT [baseCurrency] => GEL [baseName] => Georgian lari [targetCurrency] => USD [targetName] => U.S. Dollar [exchangeRate] => 0.32613048 [inverseRate] => 3.06625741 [inverseDescription] => 1 U.S. Dollar = 3.06625741 Georgian lari)[EUR] => Array( [title] => 1 GEL = 0.28808543 EUR [link] => http://www.floatrates.com/gel/eur/ [description] => 1 Georgian lari = 0.28808543 Euro [pubDate] => Thu, 9 Jul 2020 12:00:01 GMT [baseCurrency] => GEL [baseName] => Georgian lari [targetCurrency] => EUR [targetName] => Euro [exchangeRate] => 0.28808543 [inverseRate] => 3.47119257 [inverseDescription] => 1 Euro = 3.47119257 Georgian lari)我怎樣才能像示例中那樣做到這一點(diǎn)?順便說一句,使用我的代碼,我多次獲得相同的值,例如您可以看到 [USD] => 數(shù)組 149 次。
1 回答

30秒到達(dá)戰(zhàn)場
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個贊
這是使您的代碼按照您的意愿工作所需的修改
$xml = simplexml_load_file('http://www.floatrates.com/daily/gel.xml');
$cur = array($xml);
$array = json_decode(json_encode($cur), true);
$newArr = [];
$currencies = $array[0]['item']; // here are your currencies
foreach($currencies as $currency) {
$newArr[$currency['targetCurrency']] = $currency;
}
echo json_encode($newArr, JSON_PRETTY_PRINT);
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)
0/150
提交
取消