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

PHP开发中如何对MySQL查询返回的数组元素求和得到总数值

方案1:直接处理当前拿到的空格分隔字符串求和

你目前输出的是空格分隔的数字字符串,先把字符串按空格拆分成数组,再对数组所有元素求和即可。如果字符串存在连续空格,建议用正则拆分避免空元素干扰:

// 原有代码修正笔误:SQL里的别名是sum_lines_done,之前取sum_done会取不到值
$query1 = $this->db->query('SELECT  *, sum(`lines_done`) as sum_lines_done FROM `lines` where id = ' . $id_print . ' ');
$data1= $query1->result();
$tool_all = $data1[0]->sum_lines_done;

// 新增求和逻辑
// 先去除首尾空格,再按任意数量空白符拆分,转成浮点型后求和
$num_array = array_map('floatval', preg_split('/\s+/', trim($tool_all)));
$total = array_sum($num_array);

// 输出结果即为154
echo $total;

方案2:直接在SQL层面计算总和(更推荐,性能更好)

如果是要对查询行的所有指定字段值求和,可以直接在SQL里完成计算,不需要PHP层二次处理:

// 把需要求和的所有字段在SQL中直接相加,一次性拿到最终总和
$query1 = $this->db->query('SELECT (字段1 + 字段2 + 字段3 + ... + sum(`lines_done`)) as total FROM `lines` where id = ' . $id_print . ' ');
$data1 = $query1->result();
$total = $data1[0]->total;

echo $total;

注意:上述SQL写法里的字段1、字段2等需要替换为你实际要参与求和的表字段名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:15:02