php 二维数组求和

Array
(
[194] => Array
(
[id] => 194
[pos_id] => 0
[user_id] => 4
[site_id] => 3
[e_ticket_type] => diancard
[consume] => 84.00
[balance] => 0.00
[type_num] => 9
[e_ticket_id] => 35
[e_ticket_sn] => 62000000
[logs_time] => 1322082448
[cancel_time] => 0
[serial_number] => 000000
[batch] => 000000
[koudian] => 84.00
[settlement] => 1.00
[logs_status] => 1
[order_sn] => 1132748231
[brand_id] => 394
[site_name] => 中国票务网
[password] => 7694f4a66316e53c8cdd9d9954bd611d
[money] => 30
[reg_time] => 0
[last_time] => 1320103897
[last_login] => 1323277125
[last_ip] => 127.0.0.1
[logins] => 44
[ticket_type] => 自由扣点
[xiaoji] => 84
)

[193] => Array
(
[id] => 193
[pos_id] => 0
[user_id] => 4
[site_id] => 3
[e_ticket_type] => diancard
[consume] => 216.00
[balance] => 84.00
[type_num] => 9
[e_ticket_id] => 35
[e_ticket_sn] => 62000000
[logs_time] => 1322082426
[cancel_time] => 0
[serial_number] => 000000
[batch] => 000000
[koudian] => 216.00
[settlement] => 1.00
[logs_status] => 1
[order_sn] => 1132780195
[brand_id] => 394
[site_name] => 中国票务网
[password] => 7694f4a66316e53c8cdd9d9954bd611d
[money] => 30
[reg_time] => 0
[last_time] => 1320103897
[last_login] => 1323277125
[last_ip] => 127.0.0.1
[logins] => 44
[ticket_type] => 自由扣点
[xiaoji] => 216
)
)
这样一个二维数组[xiaoji]是字段[consume]和[settlement]的乘积$val['consume'] * $val['settlement'], [xiaoji]没有存到数据库,我想求所有[xiaoji]的总和并显示在页面上该怎么写?

你这个二位数组里面不是有这个[xiaoji]
那么就foreach一下
$sum = 0;
foreach ($array as $key => $value ){
$sum += $array[$key]['xiaoji'];
}
echo $sum;
这里$array是你的数组的名字,$sum是全部[xiaoji]的和。

如果没有这个你可以
$sum = 0;
foreach ($array as $key => $value ){
$sum += $array[$key]['consume'] * $array[$key]['settlement'];
}
echo $sum;
同样 这里$array是你的数组的名字,$sum是全部['consume'] * ['settlement']的和。

如果是直接读数据库
SELECT SUM( `consume` * `settlement`) as sum FROM your_table
your_table是你的数据表的名字 直接查询出来的就是全部['consume'] * ['settlement']的总和。

不知道你问的是不是这个意思?追问

是这样的,问题解决了,这个$sum在模版里应该怎么调用把它显示出来呢?PHP的框架我不太懂啊

追答

smarty么?
include("Lib/smarty/class/Smarty.class.php"); //这里是smarty路径
$tpl=new Smarty();
$tpl->template_dir = __SITE_ROOT."/templates/";
$tpl->compile_dir = __SITE_ROOT."/templates_c/";
$tpl->cache_lifetime = 60 * 60 * 24; //缓存时间
$tpl->cache_dir = __SITE_ROOT."/cache/"; //缓存目录
$tpl->left_delimiter = 'right_delimiter = '}>';
$tpl->assign("sum", $sum);
$tpl->display(你的模板文件);

在模板页里面 需要输出的位置写就可以了 。

温馨提示:答案为网友推荐,仅供参考