Мультивалютность с использованием курсов из API - PullRequest
1 голос
/ 19 марта 2012

Мне нужна помощь с кодом. Я пытаюсь уложить это в постель, потому что это сводит меня с ума. Код Psuedo для этого будет

  1. Загрузите тарифы из API Yahoo и объявите мою базовую ставку в иностранной валюте.
  2. Сохранение массива валют на выбор для сравнения с базовой валютой.
  3. Затем я получаю выбранную валюту и регистрирую ее в SESSION для использования на других страницах. (Я не уверен, что это правильно?)
  4. Затем я вычисляю цену моего продукта в GBP для выбранной иностранной валюты.
  5. Вывод конвертированной цены в любое место на странице.

Мой скрипт получает значения GET из URL, например:

.com?c=EUR

Мой код такой ...

  1. Сначала я получаю ставки из API Yahoo:

    session_start();
    
    $from   = 'GBP';
    $to     = '$c';
    $url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from . $to .'=X';
    $handle = @fopen($url, 'r');
    
    if ($handle) {
      $result = fgets($handle, 4096);
      fclose($handle);
    }
    $allData = explode(',',$result); /* Get all the contents to an array */
    $PoundValue = $allData[1];
    
  2. Тогда я сохраняю массив валют.

    $currency_array = array ('USD','EUR','RMB','JPY','AUD','CHF')
    
  3. Тогда я получу выбранную валюту.

     if(isset($_GET['c'])) {  
         $c = $_GET['c'];
    
        if(array($currency_array)) {
            $_SESSION['currency_array'] = $c;
        }
     }
    
  4. Затем я рассчитываю цену продукта.

     $Total = $Price * $currency_array; 
    
     $outprice = number_format($Total, 2, '.', ',');
    
  5. Тогда я вывожу на страницу

     <?php echo .$outprice; ?>
    

Итак, все ли мое кодирование логически в правильном порядке?

Любая помощь будет принята с благодарностью.

Просто как примечание. Когда я набираю URL, заканчивающийся .php?c=EUR

Я положил туда дамп, и мой вывод

array
  0 => string '"GBP$C=X"' (length=9)
  1 => string '0.00' (length=4)
  2 => string '"N/A"' (length=5)
  3 => string '"N/A"

' (length=7)

Почему значение $c не возвращается в качестве выбранной валюты?

Приветствия

Ионы

1 Ответ

2 голосов
/ 19 марта 2012
$to = '$c';

должно быть просто

$to = $c;

или

$to = "$c"; // redundant "make a string of this string" version.

Строки в одинарных кавычках не интерполируют значения переменных.

...