PHP N个数组中的某个元素相加 比如array(1,2,3);array(2,3,4); 第二个元素相加,但是不知道总共有多少个。

不知道总共有多少个数组。可能有100个 1000个数组相加。 求高手解答。小弟万分感谢!

遍历一道即可
<?php
$a=array( array(1,2,3), array(2,3,4) ,array(2,3,4), array(2,3,4), .....未知子数组数量 );
$sum=0;
foreach($a as &$v) $sum+=$v[1]; //加上从0数的第2个元素$v[1]
echo "总值:".$sum;追问

不太明白,其实我就是做一个统计。
大概结构是这样的。
订单号 金额 发布时间
13213 3 11.11
13213 3 11.11
13213 3 11.11
13213 3 11.11
13213 3 11.11

把金额统计出来

追答

是一样的,等同于数据结构
$a=array( array(13213,3 ,11.11), array(13213,3 ,11.11) ,array(13213,3 ,11.11), array(13213,3 ,11.11), .....未知子数组数量 );
接下来代码一样。最基础求总和Σ计算。

追问

那如果是1000个 我就要在未知子数组数量里写1000次?有没有其他办法啊?

对了 再请教个问题。

Array ( [0] => 3 ) Array ( [0] => 1 ) Array ( [0] => 2 ) 怎么把他们转换成一个数组?

追答

不用写1000次,一次都不用。
例中的$a本应该从数据库中取出来,比如
$a=$db->query('SELECT no, amount, date FROM tbl');
$sum=0;
foreach($a as &$v) $sum+=$v['amount']; //看查询形式,序号用$v[1],字串用$v['amount']
echo "总值:".$sum;

另外的问题,能显示出Array ( [0] => 3 ) Array ( [0] => 1 ) Array ( [0] => 2 ) 本身就是一个数组,不用转。这只是php数组的显示形式,而不是交换形式,交换不用这种而用序列化。
强行逆转换,对这个串进行语法分析,写个逆解析函数就行。

追问

说实话,新手 没怎么看懂。 但非常感谢你回答了这么多。 怎么也得把分给你。

其实我就是想把 order_money 这个字段里的值相加。得出总和。

select * from new_orders,i_user where new_orders.i_uid=i_user.i_id order by submit_time desc

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