php数组如何总计总和

Array
(
[0] => 1|物品一|6
[1] => 2|物品一|10
[2] => 3|物品一|3
[3] => 3|物品二|6
[4] => 4|物品二|3
[5] => 4|物品三|4
[6] => 5|物品四|1
)
比如得到这样的一个数组 数据ID|物品名称|数量
怎么统计同一种物品的数量???
感谢各位,都可以实现我想要的效果,但是只能采纳一个,我采纳先回答的,其他的各位对不住了,不过还是谢谢你们

第1个回答  2014-10-28
$testarray = array('1|物品一|6','2|物品一|10','3|物品一|3','3|物品二|6','4|物品二|3','4|物品三|4','5|物品四|1');
$result = array();


foreach($testarray as $w){
        $text = explode('|',$w);
        $name = $text[1];
        $num = $text[2];
        $result[$name] += $num;
}


print_r($result);

试试这个

第2个回答  推荐于2016-10-15
<?php
$array = Array(
    "1|物品一|6",
    "2|物品一|10",
    "3|物品一|3",
    "3|物品二|6",
    "4|物品二|3",
    "4|物品三|4",
    "5|物品四|1");

$arr = array();
foreach($array as $row){
$goods = explode("|",$row);
if(isset($arr[$goods[1]])){
$arr[$goods[1]] += $goods[2];
}else{
$arr[$goods[1]] = intval($goods[2]);
}
}
var_dump($arr);
?>

本回答被提问者采纳
第3个回答  2014-10-28
$b=array();
$a=array('1|物品一|6','2|物品一|10','3|物品一|3','3|物品二|6','4|物品二|3','4|物品三|4','5|物品四|1');
foreach($a as $k=>$v){
$v=explode('|',$v);
if(!isset($b[$v[1]])){
$b[$v[1]]=$v[2];
}else{
$b[$v[1]]+=$v[2];
}
//echo '<pre>',var_dump($v),'</pre>';
}unset($a);
echo '<pre>',var_dump($b),'</pre>';
die();

第4个回答  2014-10-28
遍历 然后 判断

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网