/**
 * 
 * @return array(datetime, array(array(iso, amount, rate),...)) or FALSE
 */
function getCbaRates()
{
    $soapClient = new SoapClient("http://api.cba.am/exchangerates.asmx?wsdl");
    $ret = array();
    try {
        $info = $soapClient->ExchangeRatesLatest();
        if (!isset($info->ExchangeRatesLatestResult) || !isset($info->ExchangeRatesLatestResult->Rates) || !isset($info->ExchangeRatesLatestResult->Rates->ExchangeRate)) {
            return false;
        }
        foreach ($info->ExchangeRatesLatestResult->Rates->ExchangeRate as $dto) {
            $ret[] = array($dto->ISO, $dto->Amount, $dto->Rate);
        }
        $currentDate = $info->ExchangeRatesLatestResult->CurrentDate;
        $date = date_create_from_format('Y-m-d\\TH:i:s', $currentDate);
        if (!$date) {
            return false;
        }
        $dateStr = $date->format('Y-m-d H:i:s');
        return array($ret, $dateStr);
    } catch (SoapFault $fault) {
        return false;
    }
    unset($soapClient);
}
Example #2
0
<?php

//see http://api.cba.am/exchangerates.asmx
$soapClient = new SoapClient("http://api.cba.am/exchangerates.asmx?wsdl");
try {
    $info = $soapClient->ExchangeRatesLatest();
    $cbaOneUsdPrice = $info->ExchangeRatesLatestResult->Rates->ExchangeRate[0]->Rate;
    if (isset($info->ExchangeRatesLatestResult) && isset($info->ExchangeRatesLatestResult->Rates) && isset($info->ExchangeRatesLatestResult->Rates->ExchangeRate)) {
        foreach ($info->ExchangeRatesLatestResult->Rates->ExchangeRate as $dto) {
            switch ($dto->ISO) {
                case "USD":
                    var_dump($dto->ISO . $dto->Rate);
                    break;
                case "EUR":
                    var_dump('USD:' . $dto->Rate);
                    break;
                case "RUB":
                    var_dump('USD:' . $dto->Rate);
                    break;
            }
        }
    }
    exit;
    $currentDate = $info->ExchangeRatesLatestResult->CurrentDate;
    var_dump($info->ExchangeRatesLatestResult->Rates->ExchangeRate);
    exit;
    $date = date_create_from_format('Y-m-d\\TH:i:s', $currentDate);
    if ($date) {
        $dateStr = $date->format('Y-m-d H:i:s');
        var_dump($dateStr);
    }