PHP根据数组元素值对来自两个数组的值进行计算

标签 php mysql

有两个数组

第一个数组

Array
(
[0] => Array
    (
        [SUM(j.Amount)] => 
        [DebitAccount] => 
    )

[1] => Array
    (
        [SUM(j.Amount)] => 15842.88
        [DebitAccount] => 2310
    )

[2] => Array
    (
        [SUM(j.Amount)] => 3656.68
        [DebitAccount] => 2380
    )

[3] => Array
    (
        [SUM(j.Amount)] => 12178.20
        [DebitAccount] => 2610
    )
 )

和第二个数组

Array
(
[0] => Array
    (
        [SUM(j.Amount)] => 
        [CreditAccount] => 
    )

[1] => Array
    (
        [SUM(j.Amount)] => 15842.88
        [CreditAccount] => 2310
    )

[2] => Array
    (
        [SUM(j.Amount)] => 30916.44
        [CreditAccount] => 2380
    )

[3] => Array
    (
        [SUM(j.Amount)] => 3133.70
        [CreditAccount] => 2620
    )
)

什么是目标?需要得到这样的输出

账号为2310,值为0.00 (15842.88 - 15842.88)

账号为2380,值为-30916.40 (3656.68 - 30916.44)

帐号为 2610,值为 12178.20 (12178.20 (DebitAccount) - 0.00 (CreditAccount ))

帐号为 2620,值为 -3133.70 (0.00 (DebitAccount) - 3133.70 (CreditAccount ))

现在尝试了解如何做类似的事情 if(DebitAccount == CreditAccount){from (corresponding DebitAccount SUM(j.Amount)) deduct (corresponding CreditAccount SUM(j.Amount));}

您能建议如何达到目标吗?

最佳答案

假设第一个数组是$DAs,第二个是$CAs

<?php
foreach($DAs as $i=>$da){
    foreach($CAs as $j=>$ca){
        if($da['DebitAccount'] == $ca['CreditAccount']){
            //output
            echo 'Account number is '.$da['DebitAccount'].', Value is '.$da['SUM(j.Amount)']-$ca['SUM(j.Amount)'].' ('.$da['SUM(j.Amount)'].' - '.$ca['SUM(j.Amount)'].')';
            //deduct the credit
            $DAs[$i]['SUM(j.Amount)'] -= $ca['SUM(j.Amount)'];
            //we need to use $DAs[$i] to be able to modify its value, because foreach can only give a copy of it.
        }
    }
}
?>

关于PHP根据数组元素值对来自两个数组的值进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17399650/

相关文章:

mysql - MySQL 5.6 上 utf8 排序规则和字符集的部分配置

php - 如何使用 PHP 运行 Google Embed API 服务器端授权?

css 工具提示中的 php 文本

PHP 旋转带有裁剪边缘的图像

mysql - 无法检索月初之前的记录 - Mysql

mysql - pentaho维度数据表无法输入mysql

mysql - 在具有多个用户的 VM 上使用版本控制

mysql - TYPE = MYISAM 抛出 SQL 语法错误

php - Composer 找不到类并加载它们

php - 在网站上存储每个用户的图片(php)