2017-01-06 120 views
0

我正在使用Zillow API來獲取搜索結果,並且遇到了麻煩。我使用thier GetSearchResults的工具,我得到的錯誤:獲取API的PHP嘗試獲取非對象的屬性

Trying to get property of non-object

上線,其中i使用->符號從XML得到的值。我已經閱讀過關於它的討論,也許我正在做記號錯誤,但我沒有看到任何錯誤。我如何從這個對象獲取數據?

這是我目前的代碼。

<?php 
$zillow_id = 'X1-ZWz19g3j9ffabv_7galu'; 
$search = isset($_GET['5411 lydia ave'])?$_GET['5411 lydia ave']:""; 
$citystate = isset($_GET['kansascitymo64110'])?$_GET['kansascitymo64110']:""; 
$address = urlencode($search); 
$citystatezip = urlencode($citystate); 
$url = "http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=$zillow_id&address=$address&citystatezip=$citystatezip"; 
$result = file_get_contents($url); 
$data = simplexml_load_string($result); 
$zpid=$data->response->results->result[0]->zpid; 
echo $zpid; 
?> 

下面是我講的是XML:在這種情況下

<SearchResults:searchresults xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"   xmlns:SearchResults="http://www.zillow.com/static/xsd/SearchResults.xsd" xsi:schemaLocation="http://www.zillow.com/static/xsd/SearchResults.xsd http://www.zillowstatic.com/vstatic/5b67875/static/xsd/SearchResults.xsd"> 
<request>...</request> 
<message>...</message> 
<response> 
<results> 
<result> 
<zpid>2349353</zpid> 
<links>...</links> 
<address> 
<street>5411 Lydia Ave</street> 
<zipcode>64110</zipcode> 
<city>Kansas City</city> 
<state>MO</state> 
<latitude>39.02831</latitude> 
<longitude>-94.568747</longitude> 
</address> 
<zestimate>...</zestimate> 
<localRealEstate>...</localRealEstate> 
</result> 
</results> 
</response> 
</SearchResults:searchresults> 

回答

0

result至少不是一個數組。所以,正確的語法是

echo $data->response->results->result->zpid; 
0

如果你有一個以上的結果是這樣的:

<response> 
<results> 
    <result> 
    <zpid>2349353</zpid> 
    </result> 
    <result> 
    <zpid>5676567</zpid> 
    </result> 
    <result> 
    <zpid>987987</zpid> 
    </result> 
</results> 
</response> 

你應該得到zpid如下:

$zpid=$data->response->results->result[0]->zpid; // 2349353 
$zpid=$data->response->results->result[1]->zpid; // 5676567 
$zpid=$data->response->results->result[2]->zpid; // 987987 
相關問題