PHP数组总和集团通过[复制](Php Arrays Sum Group By [duplicate

2019-09-20 02:50发布

可能重复:
使用多维阵列由SUM PHP组

我工作的一个批发公司创建购物推车。 我将创建以后也发票。 这是同样的道理。

首先,我乘的一揽子贷款(包)*一揽子贷款adeti(包装数量)*fiyatı(价格),我写了它在列表的末尾。 现在我要计算增值税。 主要的问题是,我们并不确切地知道以前的增值税率。

可以存在3分不同的大桶比率。 (这取决于其客户选择的产品)可能是一个。

我制成大桶的阵列

$vats[] = array($row['vat'], $row['wholesaleprice'] - $wholesaleprice);

结果就是这样

Array ( 
[0] => Array ( [0] => 18 [1] => 1,07 ) 
[1] => Array ( [0] =>  8 [1] => 0,44 ) 
[2] => Array ( [0] =>  8 [1] => 0,67 ) 
[3] => Array ( [0] => 18 [1] => 0,55 ) 
[4] => Array ( [0] => 18 [1] => 0,19 ) 
[5] => Array ( [0] =>  8 [1] => 0,48 ) 
[6] => Array ( [0] => 18 [1] => 2,59 ) 
[7] => Array ( [0] =>  8 [1] => 0,15 ) 
[8] => Array ( [0] => 18 [1] => 12,97 ) 
)

我有比要总结增值税组...

我要像显示

VAT(18%)136.26 TL VAT(8%)16.90 TL VAT(1%)9.28 TL

我如何能做到这一点的快捷方式。 我已经检查阵列功能。 但我无法找到任何有用的。

购物车: http://i.stack.imgur.com/DDsCq.png

Answer 1:

尝试是这样的:

<?php

$data = Array ( 
    Array ( 0 => '18', 1 => '1,07' ),
    Array ( 0 => '8', 1 => '0,44' ),
    Array ( 0 => '8', 1 => '0,67' ),
    Array ( 0 => '18', 1 => '0,55' ), 
    Array ( 0 => '18', 1 => '0,19' ),
    Array ( 0 => '8', 1 => '0,48' ),
    Array ( 0 => '18', 1 => '2,59' ),
    Array ( 0 => '8', 1 => '0,15' ),
    Array ( 0 => '18', 1 => '12,97' ) 
);

// predefine array
$data_summ = array();
foreach ( $data as $value ) {
    $data_summ[ $value[0] ] = 0;
}

foreach ( $data as $list ) {
    $number = str_replace( ",", ".", $list[1] ) * 1;
    $data_summ[ $list[0] ] += (float)$number;
}

?>

输出$data_summ

Array
(
    [8] => 1.74
    [18] => 17.37
)

如果我理解正确。



Answer 2:

<?php

function multiplyArray($array) {
    $result = array();

    foreach ($array as $value) {
        $result[] = array_product(array_map('floatval', str_replace(',', '.', $value)));
    }

    return $result;
}

$array = array(
    0 => array(0 => '18', 1 => '1,07'),
    1 => array(0 => '8', 1 => '0,44'),
    2 => array(0 => '8', 1 => '0,67'),
    3 => array(0 => '18', 1 => '0,55'),
    4 => array(0 => '18', 1 => '0,19'),
    5 => array(0 => '8', 1 => '0,48'),
    6 => array(0 => '18', 1 => '2,59'),
    7 => array(0 => '8', 1 => '0,15'),
    7 => array(0 => '18', 1 => '12,97'),
);

// Outputs
var_dump($array);
var_dump(multiplyArray($array));
var_dump(array_sum(multiplyArray($array)));


Answer 3:

小心! 上次我处理了增值税的规定是非常严格的发票中的每一行项目计算的增值税,再加入占总增值税。

她陛下海关不接受总额高达行项目,然后计算总的增值税。 有两个原因:-

  • 平原贪婪 - 主要是舍入误差将落在消费芒青睐。
  • 实用性 - 通常单行项目将从出货,拒绝或退回缺失 - 它更容易制定出的增值税,如果它计算了摆在首位每个发票行记。


文章来源: Php Arrays Sum Group By [duplicate]