我試圖做一些與Yelp的API2錯誤與Yelp的API輸出
$response = json_decode($data);
這在PHP對象格式看起來是這樣的返回數據:
stdClass Object
(
[region] => stdClass Object
(
[span] => stdClass Object
(
[latitude_delta] => 0.28083237848028
[longitude_delta] => 0.23501544732261
)
[center] => stdClass Object
(
[latitude] => 31.335313781127
[longitude] => -92.786144296672
)
)
[total] => 736
[businesses] => Array
(
[0] => stdClass Object
(
[is_claimed] => 1
[rating] => 4
[mobile_url] => http://m.yelp.com/bizzzz?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=toQu_qgvu90-Z7dQuZOWMQ
[rating_img_url] => https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png
[review_count] => 147
[name] => Name here
[rating_img_url_small] => https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png
[url] => http://www.yelp.com/biz/zzz?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=toQu_qgvu90-Z7dQuZOWMQ
[categories] => Array
(
[0] => Array
(
[0] => Chinese
[1] => chinese
)
)
[phone] => 5123355555
[snippet_text] => My family and I went to HAO-Q Asian Kitchen for the first time before a performance of our children in Aladdin. We all happen really love Asian cuisine....
[image_url] => https://s3-media3.fl.yelpcdn.com/bphoto/XS5NjGCdn3s14_efs9w5rw/ms.jpg
[snippet_image_url] => http://s3-media4.fl.yelpcdn.com/photo/ZxVY3kdLGl6AyAblYbIRgQ/ms.jpg
[display_phone] => +1-512-338-5555
[rating_img_url_large] => https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png
[id] => kitchen-austin
[is_closed] =>
[location] => stdClass Object
(
[city] => Austin
[display_address] => Array
(
[0] => 123 Street
[1] => Ste 113
[2] => Far West
[3] => Austin, TX 78731
)
[geo_accuracy] => 8
[neighborhoods] => Array
(
[0] => Far West/Northwest Hills
)
[postal_code] => 78731
[country_code] => US
[address] => Array
(
[0] => 3742 Far W Blvd
[1] => Ste 113
)
[coordinate] => stdClass Object
(
[latitude] => 31.356237
[longitude] => -92.758041
)
[state_code] => TX
)
)
我想輸出幾個結果使用限制:
$limit = (isset($_POST['displayLimit']) ? $_POST['displayLimit'] : 10);
for ($x = 0; $x <= $limit; $x++) {
}
輸出是蠻好的,但我也不斷收到以下錯誤每個ITE循環和每一個值的比:
Notice: Undefined offset: 10 in /mypath/YelpTest.php on line 94 Notice: Trying to get property of non-object in /mypath/YelpTest.php on line 94
而且我有這樣的路線是:
echo $response->businesses[$x]->name;
我缺少什麼?
爲什麼你在每一個循環中檢查它(if(!array_key_exists($ x, $ request-> business)){...? – itzmukeshy7
@ itzmukeshy7嗯...要確保'$ request-> business [$ x]'存在。 :)這是因爲for($ x = 0; $ x <$ limit; $ x ++)'完全不依賴'$ request-> business'的大小。所以,我們需要確保數組鍵'$ x'是否存在,因此array在該索引下有一個值。 –
但是,爲什麼我們可以通過按照我的答案 – itzmukeshy7