yii2 + xml или json

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

yii2 + xml или json

Сообщение Artikk »

Здравствуйте.
http://www.floatrates.com/daily/thb.xml
http://www.floatrates.com/daily/thb.json
с xml и json ни разу не работал.
как мне взять данные допустим доллара или евро из данных ссылок?
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: yii2 + xml или json

Сообщение Artikk »

$XML2 = simplexml_load_file("http://www.floatrates.com/daily/thb.xml"); вот получил, а как мне выбрать отсюда доллар, евро?
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: yii2 + xml или json

Сообщение Artikk »

я хотел так использовать:

Код: Выделить всё

$usd = (array)$XML->item[0]->exchangeRate; //доллар
$eur = (array)$XML->item[1]->exchangeRate; // евро
$cny = (array)$XML->item[18]->exchangeRate; // китайская йена
$rub = (array)$XML->item[12]->exchangeRate; // рубль
но потом заметил, что валюты меняются местами, как еще можно?
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: yii2 + xml или json

Сообщение chesar »

Обойти список валют, сохранить в массив под нужными идентификаторами.

Код: Выделить всё

$rates = [];
foreach($items as $item) {
    $rates[$item->targetCurrency] = $item;
}

$usd = $rates['USD']->exchangeRate;
$rub = $rates['RUB']->exchangeRate;
Пример компонента на yii1, но смысл понятен http://www.elisdn.ru/blog/23/poluchenie ... entrobanka
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: yii2 + xml или json

Сообщение Artikk »

что такое items ?? $XML2 = simplexml_load_file("http://www.floatrates.com/daily/thb.xml"); вот получил, а как мне выбрать отсюда доллар, евро?
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: yii2 + xml или json

Сообщение Artikk »

Сделал через json:

Код: Выделить всё

$XML = simplexml_load_file("http://www.floatrates.com/daily/thb.xml");
		$json = file_get_contents('http://www.floatrates.com/daily/thb.json');
		$array = json_decode($json);
		$urlPoster=array();
		foreach ($array as $value) {
			$urlPoster[$value->code]=$value;
		}
		$usd = $urlPoster['USD']->rate;
		$eur = $urlPoster['EUR']->rate;
		$rub = $urlPoster['RUB']->rate;
		$cny = $urlPoster['CNY']->rate;
Ответить