Есть массив bestliker со значениями array(3) { [23946139]=> int(5) [2582866]=> int(5) [156444354]=> int(4) }
и массив bestcommentator array(4) { [23946139]=> int(4) [2582866]=> int(6) [156444354]=> int(4) [25828612]=> int(8) }
Я хочу получить массив result array(4) { [23946139]=> int(9) [2582866]=> int(11) [156444354]=> int(8) [25828612]=> int(8) }
У меня получилось сложить только значение value если key равны.
$result = array();
foreach ($bestliker as $key => $value) {
$result_count_liker_id = $key;
$result_count_liker = $value;
if ($result_count_liker > 0) {
foreach ($bestcommentator as $key2 => $value2) {
$result_count_comment_id = $key2;
$result_count_comment = $value2;
if ($result_count_liker_id == $result_count_comment_id ) {
$result= $result_count_liker + $result_count_comment;
var_dump($result);
}
}
}
}
Вам нужно использовать isset
, чтобы проверить, существует ли переменная
Адаптация ответа от сюда:
$result = array();
$input= array($bestliker,$bestcommentator);
array_walk_recursive($input, function($item, $key) use (&$final){
$final[$key] = isset($final[$key]) ? $item + $final[$key] : $item;
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Моя проблема связана с установкой Cookie для отслеживания начала новых сессий пользователей в браузере Google Chrome