返回PHP中用逗号分隔的JSON元素

时间:2017-08-05 20:26:25

标签: php arrays json

在PHP中,如何在以逗号分隔的字符串中返回JSON元素值?

这就是我在PHP中调用“list”JSON文件的方式:

{
 "resultCount":3,
 "results": [
{"itemId":1223604159},
{"itemId":1231618623},
{"itemId":1244303880}]
}

这是列表JSON内容(可能包含更多项目,每列更多列,而不仅仅是itemID):

1223604159,1231618623,1244303880

所以我希望这个字符串作为响应:

$IdByCommas = implode(',',$items->results->itemId);

已经尝试过内爆但没有成功:

server.js

1 个答案:

答案 0 :(得分:3)

由于$items->results的每个项目都是一个包含一个键itemId的数组,因此您只能implode($items['results'])。您必须获得itemId的每个值。

使用php5.5 / 5.6 / 7,你有array_column功能,你可以:

echo implode(',', array_column($items['results'], 'itemId')));

否则,您必须提取itemId的每个值:

$ids = [];
foreach ($items['results'] as $item) {
    $ids[] = $item['itemId'];
}
echo implode(',', $ids);

另外,我使用[]代替->,因为您将json解码为数组,而不是对象。