【发布时间】:2019-10-29 13:37:34
【问题描述】:
所以从一个 Get 请求中我得到了这个结构的响应:
{
"chromeosdevices" : [
{
"somekey" : "somevalue",
"annotatedUser" : "annotatedUserValue",
"activeTimeRanges" : [
{
"date" : "dateValue",
"activeTime" : "activeTimeValue"
}
],
"somekey" : "somevalue",
},
]
}
如何同时访问 DateValue 和 ActiveTimeValue?
我已经用这个代码试过了:
$dec = json_decode($response);
$filteredResults= array();
if (! empty($dec->chromeosdevices)) {
foreach ($dec->chromeosdevices as $chromeosdevice) {
$user['annotatedUser'] = $chromeosdevice->annotatedUser;
$user['activeTimeRanges_date'] = $chromeosdevice->activeTimeRanges->date;
$user['activeTimeRanges_activeTime'] = $chromeosdevice->activeTimeRanges -> activeTime;
$filteredResults[] = $user;
}
}
echo '<pre>';print_r($filteredResults);echo '</pre>';
但是,我只取回了 annotatedUser,但没有取回日期和活动时间。这是为什么呢?
【问题讨论】:
-
activeTimeRanges是一个对象数组。您不能直接访问该属性。正如@WKoppel 指出的那样,循环遍历它们或访问第一个元素。
标签: php arrays object foreach request