суммируйте валюту с равным 1 ID, несущим другие данные - PullRequest
0 голосов
/ 28 ноября 2018

Как суммировать валюту (нетто-задолженность) с равным 1 идентификатором (jobs_userid), переносящим другие данные в массиве ниже.

Как суммировать валюту (нетто-задолженность) с равным1 ID (Employment_userid), содержащий другие данные в массиве ниже.

[0] => Array
    (
        [employment_userid] => 375
        [full_name] => Sean Sean
        [eng_name] => Sean Sean
        [account_num] => BDO - 12321321
        [net_due] => 6142.42
    )

[1] => Array
    (
        [employment_userid] => 375
        [full_name] => Sean Sean
        [eng_name] => Sean Sean
        [account_num] => BDO - 12321321
        [net_due] => 6268.22
    )

[2] => Array
    (
        [employment_userid] => 385
        [full_name] => Nathaniel Rada
        [eng_name] => Nathaniellll
        [account_num] => BDO - 12321321
        [net_due] => 13338.74
    )

[3] => Array
    (
        [employment_userid] => 385
        [full_name] => Nathaniel Rada
        [eng_name] => Nathaniellll
        [account_num] => BDO - 12321321
        [net_due] => 13545.39
    )

результат должен быть таким:

[0] => Array
    (
        [employment_userid] => 375
        [full_name] => Sean Sean
        [eng_name] => Sean Sean
        [account_num] => BDO - 12321321
        [net_due] => 12410.64
    )

[1] => Array
    (
        [employment_userid] => 385
        [full_name] => Nathaniel Rada
        [eng_name] => Nathaniellll
        [account_num] => BDO - 12321321
        [net_due] => 26884.13
    )

спасибо,

1 Ответ

0 голосов
/ 28 ноября 2018
$newArr = [];
foreach($bigArray as $key => $val)
{
    if(isset($newArr[$val['employment_userid']]))
    {
       $newArr[$val['employment_userid']]['net_due'] += $val['net_due'];
    } else 
    {
       $newArr[$val['employment_userid']]['employment_userid'] = $val['employment_userid'];
       $newArr[$val['employment_userid']]['full_name']         = $val['full_name'];
       $newArr[$val['employment_userid']]['eng_name']          = $val['eng_name'];
       $newArr[$val['employment_userid']]['account_num']       = $val['account_num'];
       $newArr[$val['employment_userid']]['net_due']           = $val['net_due'];
    }
}

$arr = array_values($newArr); //index keys of arrays from 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...