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

返回PHP中以逗号分隔的JSON元素,php,arrays,json,Php,Arrays,Json,在PHP中,如何以逗号分隔的字符串形式返回JSON元素值 以下是我在PHP中调用“列表”JSON文件的方式: $list = file_get_contents('http://example.com/list/json'); $items = json_decode($list, true); 这是JSON内容列表(可能包含更多项,每个项包含更多列,而不仅仅是itemID): 所以我想要这个字符串作为响应: 1223604159,1231618623,1244303880 已尝试内爆,但未

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

以下是我在PHP中调用“列表”JSON文件的方式:

$list = file_get_contents('http://example.com/list/json');
$items = json_decode($list, true);
这是JSON内容列表(可能包含更多项,每个项包含更多列,而不仅仅是itemID):

所以我想要这个字符串作为响应:

1223604159,1231618623,1244303880
已尝试内爆,但未成功:

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

由于
$items->results
的每个项都是一个带有一个键的数组
itemId
,因此不能简单地
内爆($items['results'))
。您必须获取
itemId
的每个值

使用php5.5/5.6/7,在您具有
array\u column
功能的地方,您可以:

echo implode(',', array_column($items['results'], 'itemId')));
否则,您必须提取
itemId
的每个值:

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

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

内爆$items->results only对不起,我的json文件可能在每个项中包含其他列,而不仅仅是itemID。我只放了itemID以便于理解..我的JSON文件可能在每个项目中包含其他列,而不仅仅是itemID。我只放了itemID以便更容易理解。。我不同意你的建议。。。
$ids = [];
foreach ($items['results'] as $item) {
    $ids[] = $item['itemId'];
}
echo implode(',', $ids);