Как вычесть значения в массивах PHP
подскажите пожалуйста ест 2 массива с одинаковым N_KOD, как вычесть KOLVO_T - SALES_KOLVO и на выходе повернуть первый массив но с [KOLVO_T] => 9
[0] => Array
(
[N_KOD] => 764460
[TOV_NAME_G] => HSB HP0021
[CENA] => 1040
[CENAI] => 988
[CENAV] => 492.03
[KOLVO_T] => 10
)
[0] => Array
(
[N_KOD] => 764460
[SALES_KOLVO] => 1
)
Ответы (1 шт):
Автор решения: teran
→ Ссылка
Если у вас приведены примеры элементов исходным массивов, и их в каждом массиве равное число, совпадающие N_KOD, то как-нибудь так
$x = array_column($sales, 'SALES_KOLVO', 'N_KOD');
$result = array_map(function($v) use ($x){
$v['KOLVO_T'] -= $x[$v['N_KOD']] ?? 0;
return $v;
}, $data);
либо циклами
foraech($data as &$d){
$d['KOLVO_T'] -= $x[$d['N_KOD']] ?? 0;
}