- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 Yelp API2 做一些事情
$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++) {
}
输出很好,但对于循环的每次迭代和每个值,我也不断收到以下错误:
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;
我错过了什么?
最佳答案
您正试图从只有 9 个元素的数组中获取第 10 个元素;您不依赖于可能小于您的限制的目标数组大小。
如果我试图获取有限数量的记录,我会从 $response->businesses
中获取一个切片并通过该切片执行 foreach
:
$limit = isset($_POST['displayLimit']) ? $_POST['displayLimit'] : 10;
foreach (array_slice($response->businesses, 0, $limit) as $business) {
echo $business->name;
}
array_slice函数有一个很好的特性:当 $limit
大于数组元素的总数时(从 $offset
开始,函数的第二个参数)它只返回可用的元素.例如,如果您执行 array_slice([1, 2, 3, 4], 0, 100)
,它会返回 [1, 2, 3, 4]
— limit是100,但是array只有4个元素,所以全部返回,切片时没有向array添加任何元素。
另一种方式:
$limit = isset($_POST['displayLimit']) ? $_POST['displayLimit'] : 10;
$counter = 0;
foreach ($response->businesses as $business) {
echo $business->name;
$counter++;
if ($counter >= $limit) {
break;
}
}
这里我只是在达到限制时中断 foreach
循环。当我的数组元素少于 $limit
时,我不会出错。
从您的代码继承的另一种方法:
$limit = isset($_POST['displayLimit']) ? $_POST['displayLimit'] : 10;
for ($x = 0; $x < $limit; $x++) {
if (!array_key_exists($x, $request->businesses)) {
// We have reached the end of $request->businesses array,
// so break "for" loop.
break;
}
echo $business->name;
}
在任何情况下,您都应该依赖数组的大小,因为它有可能小于 $limit
,这会导致您出错。
关于php - Yelp API 输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777143/
我正在使用 yelp api,我能够在 api 的帮助下检索产品评论。 但是,是否也可以使用 Yelp API 发表评论? 我需要从我自己的 php 脚本发布对产品的评论。 最佳答案 不,Yelp A
我知道我们可以使用 Yelp 评论搜索 API 搜索 Yelp 上发布的评论。是否可以使用 Yelp API 发布评论? 最佳答案 我尝试使用 Yelp API 来执行此操作,但当时不受支持。刚刚检查
我的 yelp 按钮的 html 代码是: Check out CurveSetter Tutoring on Yelp(function(d, t) {var g = d.createElement
我意识到 Yelp.com 会在鼠标移动或发生某些事情(单击元素)时进行某种跟踪。这是怎么回事?有图书馆吗?如何在不对性能造成几乎为零的影响的情况下做到这一点? 您可以在下面的 Firebug 中看到
我尝试从 Yelp 数据集挑战网站 (https://www.yelp.com/dataset_challenge) 打开文件。我已经成功做到了,但是,我无法打开文件,因为它没有扩展名。它大约是 4
我正在阅读 API 并单击业务 API 并找到 reviews作为可能的回应。描述中写道, List of up to 1 review snippet for the business 这是否意味着
这个问题在这里已经有了答案: Extracting an attribute value with beautifulsoup (10 个回答) 去年关闭。 从事网络抓取项目以建立我的知识(初学者)。
Yelp 是否提供 API 支持在企业页面上撰写评论?有没有办法从其他网站撰写评论? 最佳答案 不,而且不太可能会有。 全面披露:我在 Yelp 工作了 2 年多。 关于php - Yelp API
在查看了多篇在线文章、StackOverflow 和 Yelp Google Group 后,我无法找出 Yelp API 请求产生的无效签名错误的问题。 这是确切的错误: {'error': {'t
我正在尝试将 Yelp 的 API 与纬度/经度位置结合使用。我使用了 yelp 给出的 javascript 代码,它基本上有一个参数数组,并像这样将值插入其中: parameters.push([
我不知道如何将 target="_blank"属性添加到 5 星评级徽章。 这是我插入网页的内容...来自 yelp。我将最后一行添加到脚本中以尝试添加属性,但它不会接受。我可以,但是让它接受之前的
我正在尝试复制 yelp.com 上的星级评分小部件 - 5 星评分小部件,当您将鼠标悬停在下一颗星上时,所有之前的星星都会改变颜色以匹配活跃的星星。还需要一个显示星级描述的悬停状态。 您可以在此处查
我正在向 yelp api 发送请求以搜索提供纬度和经度的地点,但它给了我以下错误 error = { description = "Invalid signature. Ex
我正在使用 Yelp API,这是搜索方法: func searchWithTerm(term: String, success: (AFHTTPRequestOperation!, AnyObjec
在能够从业务匹配端点检索业务 ID 后,我现在尝试使用该业务 ID 将其汇集到业务详细信息端点。我只是在学习如何调用 API,所以请多多包涵。谢谢! 以下代码使我能够进行业务匹配: 调用API -->
我正在使用 Yelp API 调用业务匹配端点。不幸的是,我遇到了一个我已经玩了一段时间的错误,但似乎找不到它返回以下响应的原因: Optional({ error = {
我一直在尝试从使用 Firefox 时出现(最清晰)的 Yelp 站点徽章中移除底部边框。 div.yelp-biz-badge-script-plain-j3i0uapgqgIpKNS9KA2v4
我正在使用 Business Search Yelp Fusion Api 中的功能。 为什么我似乎无法获取所有业务? 这是一个例子: 当我发出这个请求时,它返回前 20 个结果和 485 的总属性。
我正在尝试使用 Yelp API2 做一些事情 $response = json_decode($data); 它以 PHP 对象格式返回数据,如下所示: stdClass Object ( [reg
我正在连接到 yelp 2.0 Api,我想知道是否有办法检索类别和子类别的列表。我知道该列表可在此处获得 http://www.yelp.com/developers/documentation/c
我是一名优秀的程序员,十分优秀!