2

我正在尝试将 curl 与谷歌计算器一起使用以从该网址获取货币换算:http ://www.google.com/ig/calculator?hl=en&q=100RUB=?EUR 。但是下面的代码总是返回 0:

<?php

function currency($from_Currency, $to_Currency, $amount) {
    $amount = urlencode($amount);
    $from_Currency = urlencode($from_Currency);
    $to_Currency = urlencode($to_Currency);
    //www.google.com/ig/calculator?hl=en&q=1USD=?EUR
    $url = 'http://www.google.com/ig/calculator?hl=en&q=$amount$from_Currency=?$to_Currency';
    $ch = curl_init();
    $timeout = 0;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $rawdata = curl_exec($ch);
    curl_close($ch);
    $data = explode('"', $rawdata);
    $data = explode(',', $data['3']);
    $var = $data['0'];

    return round($var, 2);                  

}
echo currency("USD", "EUR", 1);
?>

任何人都可以建议这里有什么问题?

谢谢你。

4

1 回答 1

2

使用单引号将意味着变量不会扩展。请改用双引号,或将字符串连接成多个部分。

$url = "http://www.google.com/ig/calculator?hl=en&q=$amount$from_Currency=?$to_Currency";
//or
$url = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_Currency . '=?' . $to_Currency;
于 2012-08-07T11:01:46.033 回答