Сложить значения 2 массивов по ключам

199
25 мая 2018, 13:40

Доброе времени суток! Не могу сложить одинаковые ключи 2 массивов. Допустим нужно сложить Total из 2 массивов где user Иванов Петр 1 массив:

[ 
{ 
"user": "Иванов Петр", 
"Department": "man", 
"Total": 485094, 
"Addon_1": "/images/user/user.jpg", 
"Addon_2": "2", 
"Addon_3": "/user/user.jpg", 
"topuser": "Иванов Петр", 
"_4025": 485094, 
"_4012": 31, 
"B_4012": 484412, 
"_4011": 55, 
"B_4011": 304, 
"_4014": 185, 
"B_4014": 272, 
"_4013": 106, 
"B_4013": 106 
}, 
{ 
"user": "Иванова Ольга", 
"Department": "man", 
"Total": 189601, 
"Addon_1": "/images/user/user.jpg", 
"Addon_2": "2", 
"Addon_3": "/user/user.jpg", 
"topuser": "Иванова Ольга", 
"_4025": 485094, 
"_4012": 17, 
"B_4012": 189056, 
"_4014": 169, 
"B_4014": 323, 
"_4011": 40, 
"B_4011": 118, 
"_4013": 104, 
"B_4013": 104 
} 
]

2 массив:

[ 
{ 
"user": "Иванов Петр", 
"Department": "", 
"Total": 5116, 
"_1011": 35, 
"_1012": 26, 
"_1013": 0, 
"_1014": 0, 
"_1015": 4, 
"_1016": 1, 
"_2021": 3, 
"_2022": 54, 
"_3031": 0, 
"_3032": 0, 
"_3033": 0, 
"_3034": 0, 
"_3035": 0, 
"_3036": 0, 
"_3039": 85, 
"_4011": 0, 
"_4012": 0, 
"_4013": 0, 
"_4014": 0, 
"B_1011": 35, 
"B_1012": 26, 
"B_1013": 0, 
"B_1014": 0, 
"B_1015": 80, 
"B_1016": 20, 
"B_2021": 90, 
"B_2022": 810, 
"B_3031": 0, 
"B_3032": 0, 
"B_3033": 0, 
"B_3034": 0, 
"B_3035": 0, 
"B_3036": 0, 
"B_3039": 4055, 
"B_4011": 0, 
"B_4012": 0, 
"B_4013": 0, 
"B_4014": 0, 
"Addon_1": "/images/user/user.jpg", 
"Addon_2": "", 
"Addon_3": "/user/user.jpg" 
}, 
{ 
"user": "Иванова Ольга", 
"Department": "", 
"Total": 3051, 
"_1011": 21, 
"_1012": 4, 
"_1013": 0, 
"_1014": 0, 
"_1015": 9, 
"_1016": 0, 
"_2021": 2, 
"_2022": 10, 
"_3031": 0, 
"_3032": 0, 
"_3033": 0, 
"_3034": 0, 
"_3035": 0, 
"_3036": 0, 
"_3039": 32, 
"_4011": 0, 
"_4012": 0, 
"_4013": 0, 
"_4014": 0, 
"B_1011": 21, 
"B_1012": 4, 
"B_1013": 0, 
"B_1014": 0, 
"B_1015": 180, 
"B_1016": 0, 
"B_2021": 60, 
"B_2022": 150, 
"B_3031": 0, 
"B_3032": 0, 
"B_3033": 0, 
"B_3034": 0, 
"B_3035": 0, 
"B_3036": 0, 
"B_3039": 2636, 
"B_4011": 0, 
"B_4012": 0, 
"B_4013": 0, 
"B_4014": 0, 
"Addon_1": "/user/user.jpg", 
"Addon_2": "", 
"Addon_3": "/user/user.jpg" 
} 
]

$data - 1 массив $data2 - 2 массив

$data3 = array_merge_recursive ($data, $data2); 
 
 
 
 
?> 
<table class="highlight centered"> 
<thead class="orange darken-2"> 
<tr> 
<th>Место</th> 
<th>Картинка</th> 
<th>Юзер</th> 
<th>Очки</th> 
</tr> 
</thead> 
<?php 
 
//Вывод данных статистики 
foreach ($data3 as $key => $value) 
{ 
if ($value['Department'] == ""){ 
 
 
echo ' 
 
<tbody> 
<tr> 
<td>'.$n++.'</td> 
<td><img class="circle responsive-img" style="max-width: 50px "src="'.$value['Addon_3'].'"></td> 
<td>'.$value['user'].'</td> 
<td>'.$value['Total'].'</td> 
</tr> 
</tbody> 
'; 
} 
} 
?> 
</table>

Answer 1
$data1 = json_decode($data1, false);
$data2 = json_decode($data2, false);
$data3 = array_merge_recursive($data1, $data2);
 foreach($data3 as $key => $value) {
     echo $value->total; 
 }

Выведет первый раз 485... Второй раз 511...

Вы получаете json данные, и пытаетесь сразу с ними работать, а в них к тому-же есть объект, по этому сначала их надо перевести к данным удобным для работы в PHP.

READ ALSO
Не могу отловить нажатие кнопки

Не могу отловить нажатие кнопки

Вывожу в цикле кнопки

199
magento 2 Белый экран

magento 2 Белый экран

Всем приветСтолкнулся с проблемой

201
Как передать 0 в insert PDO

Как передать 0 в insert PDO

Есть такой код:

193
Как получить id карточки товара в Woocommerce

Как получить id карточки товара в Woocommerce

Есть сайт на WP, на нем установлен плагин WoocommerceПлиз подскажите пожалуйста как при клике на "добавить товар в корзину" получить id этого товара?...

198