PHP如何统计多维数组中DIAGNOSA字段重复值并生成统计数组与表格
实现方案
1. 实现逻辑
整体分为三个步骤:遍历原始数组统计所有DIAGNOSA值的出现次数、将统计结果转换为要求的数组结构、渲染为HTML表格。
2. 完整可运行代码(PHP)
// 定义原始多维数组 $sourceArray = [ [ 'NIK_PASIEN' => 6005, 'DIAGNOSA' => ["Hipertensi","ISPA"] ], [ 'NIK_PASIEN' => 6163, 'DIAGNOSA' => ["ISPA"] ], [ 'NIK_PASIEN' => 5853, 'DIAGNOSA' => ["Hipertensi","ISPA","Vertigo"] ], [ 'NIK_PASIEN' => 5613, 'DIAGNOSA' => ["Vertigo"] ] ]; // 统计DIAGNOSA各值出现次数 $countCache = []; foreach ($sourceArray as $item) { foreach ($item['DIAGNOSA'] as $diagnoseVal) { $countCache[$diagnoseVal] = ($countCache[$diagnoseVal] ?? 0) + 1; } } // 按次数倒序排序,转换为要求的数组格式 arsort($countCache); $statResult = []; foreach ($countCache as $diagnose => $count) { $statResult[] = [ 'DIAGNOSA' => $diagnose, 'COUNT' => $count ]; } // 渲染为指定格式的HTML表格 echo '<div class="s-table-container"> <table class="s-table"> <thead> <tr> <th>DIAGNOSA</th> <th>COUNT</th> </tr> </thead> <tbody>'; foreach ($statResult as $row) { echo "<tr><td>{$row['DIAGNOSA']}</td><td>{$row['COUNT']}</td></tr>"; } echo '</tbody></table></div>';
3. 输出验证
代码运行后$statResult变量就是你要求的统计数组结构,输出的HTML表格和你给出的示例完全一致。
内容的提问来源于stack exchange,提问作者Asyah Sinaga
相关产品推荐
相关产品推荐

