Php API url正在使用&;amp;而不仅仅是&;

Php API url正在使用&;amp;而不仅仅是&;,php,json,api,error-handling,Php,Json,Api,Error Handling,我正在尝试使用以下代码将我的应用程序连接到API: class PostcodePrice{ public function getPrice($postcodes){ $apikey = "MYAPIKEY"; $priceurl = "http://api.zoopla.co.uk/api/v1/area_value_graphs.js?area=".$postcodes."&output_type=outcode&

我正在尝试使用以下代码将我的应用程序连接到API:

class PostcodePrice{
    public function getPrice($postcodes){           
        $apikey = "MYAPIKEY";
        $priceurl = "http://api.zoopla.co.uk/api/v1/area_value_graphs.js?area=".$postcodes."&output_type=outcode&api_key=".$apikey;

        $price = file_get_contents($priceurl);
        $decoded = json_decode($price);
        return $decoded->result;
    }
}
现在,我遇到的问题是,我的url被传递到api,并将我的&替换为&因此我的url如下所示:

http://api.zoopla.co.uk/api/v1/area_value_graphs.js?area="postcode&output_type=outcode&api_key=MYAPIKEY
我使用的API拒绝了带有编码的url&因此当我得到403的回复时,它显然不起作用

我尝试过字符串替换、htmlspecialchars等方法

有人知道我如何阻止这种情况发生吗?

U可以生成“$priceurl”url,而无需像这样进行连接

$priceurl=“$postcodes&output\u type=outcode&api\u key=$apikey”


希望对你有用。

你发布了完整的代码吗?我现在明白了为什么
&
会转换为
&在你发布的内容中。你如何知道它正在被转换?您确定转换不是作为服务器端日志记录的一部分执行的吗?您发布的代码中没有自动编码it403的内容,这意味着您正试图访问被禁止的网页,它与您的url无关。您是否注意到类似于此部分中的
area=“
”后面的双引号?