You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP循环赋值数组仅保留最后一个值,如何展示全部利润数据?

解决PHP代理商月度利润数据分组展示问题

问题分析

你的代码存在两个核心问题:

  • 键名拼写错误:将month_num误写为mon_num,导致无法正确按月份分组
  • 数据覆盖:直接给同月份键赋值会覆盖之前的条目,最终仅保留最后一条数据

修正方案

要保留同月份的全部利润数据,需将每个月份对应的取值改为数组,把同月份的利润条目逐个追加进去,而非直接覆盖。

修正后的代码示例(仅保留利润值)

$profitData = [];
// 遍历ODBC查询返回的结果集
foreach ($queryResult as $row) {
    $currentMonth = $row['month_num']; // 修正键名拼写错误
    // 若当前月份未初始化数组,先创建空数组
    if (!isset($profitData[$currentMonth])) {
        $profitData[$currentMonth] = [];
    }
    // 将当前利润值追加到对应月份的数组中
    $profitData[$currentMonth][] = $row['Profit'];
}

若需保留完整条目(含其他字段)

如果需要保留每条数据的完整信息,而非仅Profit字段,可改为:

$profitData = [];
foreach ($queryResult as $row) {
    $currentMonth = $row['month_num'];
    if (!isset($profitData[$currentMonth])) {
        $profitData[$currentMonth] = [];
    }
    $profitData[$currentMonth][] = $row;
}

最终效果

处理后的数组结构会以month_num为键,对应的值是该月份所有利润数据的数组,所有同月份的条目都会被保留,不会出现覆盖问题。

内容的提问来源于stack exchange,提问作者korvon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:05:22