Группируйте строки двумерного массива по столбцу и суммируйте другие столбцы внутри каждой группы.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Группируйте строки двумерного массива по столбцу и суммируйте другие столбцы внутри каждой группы.

Сообщение Anonymous »

У меня есть текущий массив PHP

Код: Выделить всё

$newData = array (size=3)
0 =>
array (size=6)
'company_name' => string 'CO 1' (length=32)
'year_and_filing_date' => string '2019' (length=4)
'total_revenue' => string '200' (length=3)
'net_income' => string '300' (length=3)
'net_cash_ending_balance' => string '150' (length=3)
'long-term_debt' => string '210' (length=3)
1 =>
array (size=6)
'company_name' => string 'CO 1' (length=32)
'year_and_filing_date' => string '2020' (length=4)
'total_revenue' => string '200' (length=3)
'net_income' => string '300' (length=3)
'net_cash_ending_balance' => string '150' (length=3)
'long-term_debt' => string '210' (length=3)
2 =>
array (size=6)
'company_name' => string 'CO 1' (length=32)
'year_and_filing_date' => string '2020' (length=4)
'total_revenue' => string '100' (length=3)
'net_income' => string '200' (length=3)
'net_cash_ending_balance' => string '50' (length=2)
'long-term_debt' => string '110' (length=3)
Я хочу объединить все массивы с одинаковыми значениями «year_and_filling_date» и суммировать все
свойства «total_revenue», «net_income» , 'net_cash_ending_balance' и 'long-term_debt'
Я не знаю, с чего начать,
Я подумываю зациклиться на каждом массиве, чтобы получить уникальную
'year_and_filing_date'

Код: Выделить всё

$unique_years = array_unique(
array_map(function($elem){
return $elem['year_and_filing_date'];
},
$newData)
);
результат: ['2019','2020'];
А затем создайте еще один цикл для фильтрации $newData с результатом ['2019','2020']
Я ожидаю получить два разных массива:
Один возвращает 1 результат, а другой возвращает 2 результата.
Но как суммировать только выбранные поля?

Подробнее здесь: https://stackoverflow.com/questions/652 ... each-group
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»