返回PHP中以逗号分隔的JSON元素
在PHP中,如何以逗号分隔的字符串形式返回JSON元素值 以下是我在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 已尝试内爆,但未
$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);