@Kak_B_CTapou_Cka3ke

Как слить несколько массивов с одинаковыми ключами, но выбрать самые большие значения?

Предположим, есть несколько массивов:
$baf1arr=['sila'=>'8','zash'=>'3'];
$baf2arr=['int'=>'2','stih'=>'1','svet'=>'4','haos'=>'7'];
$baf3arr=['int'=>'4','stih'=>'4','haos'=>'1'];
$baf4arr=['sila'=>'5','zash'=>'6','int'=>'1'];


Каким образом их правильно слить, чтобы на выходе получить массив с теми же ключами, но с самыми большими значениями из данных. Должно получиться так:

$bafArr=['sila'=>'8','zash'=>'6','int'=>'4','stih'=>'4','svet'=>'4','haos'=>'7'];


Спасибо!
  • Вопрос задан
  • 69 просмотров
Решения вопроса 2
0xD34F
@0xD34F
$arrs = [ сюда складываете исходные массивы ];

foreach ($arrs as $arr) {
  foreach ($arr as $key => $val) {
    $arrMax[$key] = max($arrMax[$key] ?? -INF, $val);
  }
}
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
Очень просто.

Для каждого массива нужно найти максимальное значение (и соответствующий ключ). Одновременно с этим нужно формировать итоговый массив, добавляя туда найденные максимальные значения.

Так что если вам знакомы операции сравнения, операторы ветвления и циклы, а также массивы в целом, то проблем не должно возникнуть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы