Есть такой массив
Array
(
[chat_111] => Array
(
[0] => 47
[1] => 1
)
[chat_110] => Array
(
[0] => 47
[1] => 3
)
[chat_1167] => Array
(
[0] => 32
[1] => 3
)
)
Как с него создать новый массив такого вида:
Array
(
[47] => [4]
[32] => [3]
)
Вот на картинке ниже попитался схематически показать что я пробую сделать:
Суть в том, чтобы пройти по массиву циклом, и на каждой итерации проверять наличие ключей - если такой ключ есть в массиве, добавляем к его значению значение текущего ключа, а если ключа в массиве нет - добавляем пару ключ=>значение. Пример:
$array = [
'chat_111' => [
47,
1
],
'chat_110' => [
47,
3
],
'chat_1167' => [
32,
3
],
];
$out = [];
foreach ($array as $a) {
if ( (array_key_exists($a[0], $out)) !== false ) {
$out[$a[0]] += $a[1];
} else {
$out[$a[0]] = $a[1];
}
}
var_dump($out);
Результат:
array (size=2)
47 => int 4
32 => int 3
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как реализовать что-бы при цикли если значение пустое нужно взять его из прошлого раза