Объединить строки двух 2D-массивов на основе значения общего столбца и применить значения по умолчанию там, где ожидаемыPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Объединить строки двух 2D-массивов на основе значения общего столбца и применить значения по умолчанию там, где ожидаемы

Сообщение Anonymous »

У меня есть два массива, которые необходимо объединить в столбце dt_date, и мне нужно объявить подписчиков и отписавшихся во всех строках результата.

Код: Выделить всё

$array1 = [
['subscribers' => 2, 'dt_date' => '2014-02-27'],
['subscribers' => 2, 'dt_date' => '2014-02-25'],
['subscribers' => 1, 'dt_date' => '2014-02-07']
];
$array2 = [
['unsubscribers' => 1, 'dt_date' => '2014-02-27'],
['unsubscribers' => 1, 'dt_date' => '2014-02-01']
];
Мне нужно создать из двух массивов массив, подобный следующему.

Код: Выделить всё

[
['subscribers' => 2, 'unsubscribers' => 1, 'dt_date' => '2014-02-27'],
['subscribers' => 2, 'unsubscribers' => 0, 'dt_date' => '2014-02-25'],
['subscribers' => 1, 'unsubscribers' => 0, 'dt_date' => '2014-02-07'],
['subscribers' => 0, 'unsubscribers' => 1, 'dt_date' => '2014-02-01']
]
Я пробовал

Код: Выделить всё

$result = array_merge_recursive($aray1, $array2);
И

Код: Выделить всё

$result = array_merge(
$array1,
array_udiff(
$array2,
$array1,
function($array1,$array2){
return strcmp($array1['dt_date'],$array2['dt_date']);
}
)
);
Но результат оказался не таким, как ожидалось

Подробнее здесь: https://stackoverflow.com/questions/220 ... -default-v
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»