php - JSON 对象的 PHP 返回值
问题描述
array(85) {
[0]=>
object(stdClass)#9 (18) {
["offer_id"]=>
string(8) "12345678"
["offer_name"]=>
string(39) "Offer Name"
["offer_desc"]=>
string(209) "Offer Description"
["call_to_action"]=>
string(57) "Offer CTA"
["offer_url"]=>
string(80) "Offer URL"
["offer_url_easy"]=>
string(106) "Offer URL Easy"
}
[1]=>
object(stdClass)#11 (17) {
["offer_id"]=>
string(8) "87654321"
["offer_name"]=>
string(24) "Offer Name 2"
["offer_desc"]=>
string(107) "Offer Description 2"
["call_to_action"]=>
string(107) "Offer CTA 2"
["offer_url"]=>
string(80) "Offer URL 2"
["offer_url_easy"]=>
string(106) "Offer URL Easy 2"
}
我正在从一个 API 中提取一个响应,该 API 包含一个内部包含对象的数组。我正在尝试遍历每个对象并获取每个键的值。
比如我要输出:Offer ID: 12345678, Offer ID 2: 87654321
目前我的代码只输出一个 ID(第一个对象 ID)。
$arr = $offer_data->response->offers; //Outputs above array
foreach ($arr as $value)
{
return $value->offer_id;
}
输出:12345678
注意:这是在我刚刚回显的函数内部。
尝试了几个小时不同的方式,终于来到这里。感谢您提供的任何帮助。
解决方案
那是因为您在第一次迭代时返回。
function test()
{
$arr = $offer_data->response->offers; //Outputs above array
$result = [];
foreach ($arr as $value) {
$result[] = $value->offer_id;
}
return $result;
}
$ids = test();
print_r($ids);
推荐阅读
- vue.js - 不能让路由器工作
- swift - 如何使用在文本字段中输入的信息正确记录 Firebase 分析事件
- ssis - SSIS 包路径 - 在执行期间确定
- java - 使用 JSoup 转到 aspx 表单的下一页
- regex - 使用 RegEx 匹配单元格中的数据,以便在 Excel 中提取新行
- arguments - 用户定义的工作表维度函数的可选参数不起作用
- javascript - 如果显示:无,则删除 div 类
- javascript - JEST:“在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调。”,尽管它已经配置
- sql - 如何在 SQL Server 的同一张表中将 XML 节点内容从一列显示到另一列?
- google-app-engine - Google App Engine,如何设置自定义响应标头