chazovs
@chazovs
Корпорация Центр

Как уникализировать двумерные массивы по значению одного из ключей при слиянии?

Есть два массива.
Первый
array:1 [
  1 => array:2 [
    "date" => "2019-05-17"
    "value" => "1"
  ]
]

Второй:
array:2 [
  0 => array:2 [
    "date" => "2019-05-17"
    "value" => "2"
  ]
  1 => array:2 [
    "date" => "2019-05-18"
    "value" => "3"
  ]
]

Я хочу объединить эти массивы с условием: если в массиве 2 уже есть ключ date со значением ключа date из массива 1, то соответствующее значение value заменяется на значение value из массива 1 (я не знаю, как проще написать)))
Вообщем должно получиться так:
array:2 [
  0 => array:2 [
    "date" => "2019-05-17"
    "value" => "1"
  ]
  1 => array:2 [
    "date" => "2019-05-18"
    "value" => "3"
  ]
]

Как это реализовать? Помогите пожалуйста.
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$result = array_merge($arr1, array_udiff($arr2, $arr1, function ($a, $b) { return $a['date'] <=> $b['date']; }));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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