我合并了两个数组(都是从MySQL获取的,它们位于不同的表中),现在我想用数组中的相同值对所有数组求和.

$merged_arr = array_merge($reg, $rel);

Array
(
    [0] => Array
        (
            [DEPARTMENT] => LEAFSPRINGDIRECT
            [BASIC INCOME] => 3035.37
            [OT PAY] => 0
        )

    [1] => Array
        (
            [DEPARTMENT] => MUFFLERDIRECT
            [BASIC INCOME] => 24962.09
            [OT PAY] => 5358.76
        )

    [2] => Array
        (
            [DEPARTMENT] => MUFFLERDIRECT 
            [BASIC INCOME] => 14082.080000000002
            [OT PAY] => 3248.4
        )
)

这就是我试过的,但我不得不一遍又一遍地做出如果-否则的 Select .

foreach($merged_arr as $key => $val) 
    {
        // echo $val['BASIC INCOME']."<br>";

        // echo array_keys(array_values($new_arr)[$key])[$count]."-".array_values(array_values($new_arr)[$key])[$count]."<br>";
        if(array_values(array_values($new_arr)[$key])[$count] == "RADIATORDIRECT") {
            $new_arr['BASIC INCOME'] += '...';
        }

        $count++;
    }

我需要的数组将如下所示:

Array
(
    [0] => Array
        (
            [DEPARTMENT] => LEAFSPRINGDIRECT
            [BASIC INCOME] => 3035.37
            [OT PAY] => 0
        )

    [1] => Array
        (
            [DEPARTMENT] => MUFFLERDIRECT
            [BASIC INCOME] => 39044.17‬
            [OT PAY] => 8607.16‬
        )
)

我怎么才能做得更容易呢?先谢谢你.

推荐答案

我会在SQL端这样做:

SELECT DEPARTMENT, SUM(`BASIC INCOME`) AS `BASIC INCOME`,  SUM(`OT PAY`) AS `OT PAY`
FROM
(
    SELECT DEPARTMENT, `BASIC INCOME`, `OT PAY`
    FROM `table_a`
    -- WHERE ...

    UNION ALL

    SELECT DEPARTMENT, `BASIC INCOME`, `OT PAY`
    FROM `table_b`
    -- WHERE ...
    
) UNIONS

GROUP BY DEPARTMENT

Php相关问答推荐

dockerized laravel服务器拒绝POST请求

从产品中获取WooCommerce产品属性单选按钮的列表WP_Query

FatFreeFramework上的不同路由

LaravelEloquent 的地方条件父/子与第三模型多对多

msgraph-sdk-php v2如何传递skiptoken到request?

使用PHP和WebSockets或SSE实现实时通知

Symfony装置加载:try 从命名空间加载类";ClassUtils";Doctrine\Common\Util";

Laravel;Composer安装突然返回选项快捷方式不能为空.

WooCommerce常规价格增加额外的附加平价

首先在WooCommerce我的帐户订单页面中移动操作按钮

在WooCommerce上克隆订单时使用`add_product()`添加产品元数据

根据类别的数量折扣更改WooCommerce购物车商品价格

在 PHP 中将字符串分解为数组(字符串类似于 WP 短代码)

订单完成后创建 WooCommerce 促销代码

AWS S3:当对象名称包含 % 时复制对象失败并出现错误 - 无效的复制源编码

PHP使用三元运算符进行null合并(再次)

PHP删除具有相同键的项目,除了具有最低值的项目

docker |管道失败的 ubuntu 源列表

正则表达式抓取递归括号的内容

如何为多个表的id列设置不同的值