PHP如何统计JSON数据条目数量并获取数值结果
实现方案
核心逻辑
API返回结构里items数组挂载在data.boards下的每个board对象中,只需要遍历所有board,累加每个board下的items数组长度即可得到总数。
可直接运行的代码
// 解析API返回的JSON为关联数组,第二个参数传true固定返回数组格式,避免对象调用报错 $parsedData = json_decode($responseContent, true); $totalItemsCount = 0; // 校验数据结构存在再遍历,避免层级缺失时报PHP错误 if (isset($parsedData['data']['boards']) && is_array($parsedData['data']['boards'])) { foreach ($parsedData['data']['boards'] as $singleBoard) { // 每个board下的items存在才计数 if (isset($singleBoard['items']) && is_array($singleBoard['items'])) { $totalItemsCount += count($singleBoard['items']); } } } // 得到的$totalItemsCount就是总数量,直接填入你的HTML表格即可 // 示例输出调试: echo "所有items总数量:" . $totalItemsCount;
原有代码的问题
- 调用
count($data)后直接赋值给$data,直接覆盖了原有的API数据,后续无法拿到结构信息 - 数据层级判断错误,
items不在根数组下,是在data.boards的每个子元素下 - 混用了PHP和前端JS语法:
console.log是浏览器端JS的方法,不能在服务端PHP代码中直接使用 - 计数逻辑冗余,不需要匹配id值,直接统计数组长度累加即可完成需求
内容的提问来源于stack exchange,提问作者kw1c-MuurmansLorentz
相关产品推荐
相关产品推荐

