есть два массива:
Array
(
[1] => Array
(
[date_create] => 2019-07-11 10:10:59
[id] => 40604334
)
[2] => Array
(
[date_create] => 2019-07-11 09:15:11
[id] => 40603954
)
[3] => Array
(
[date_create] => 2019-07-11 08:11:51
[id] => 40603720
)
)
Array
(
[1] => Array
(
[0] => текст
[1] => 2019-07-11 10:41:55
[2] => link
[id] => 40604334
)
[2] => Array
(
[0] => текст
[1] => 2019-07-11 09:55:09
[2] => link
[id] => 40545434
)
[3] => Array
(
[0] => текст
[1] => 2019-07-11 09:32:10
[2] => link
[id] => 40556772
)
[4] => Array
(
[0] => текст
[1] => 2019-07-11 09:22:18
[2] => link
[id] => 40603954
)
)
Как сделать так, чтобы взять id из второго массива, найти его в первом массиве и добавить deate_create во второй массив (в нужную ячейку массива)?
Ваша задача решается следующим способом:
foreach ($data1 as $array1) {
foreach ($data2 as $key => $array2) {
if ($array1['id'] == $array2['id']) {
// Как я понял, дата во втором массиве хранится в элементе с индексом '1'
$data2[$key][1] = $array1['date_create'];
break;
}
}
}
сделайте из второго массива ассоциативный с датами
$arr2 = array_column($arr2, 'id', 1);
получите значения вида [ 40604334 => '2019-07-11 10:41:55']
затем пройдитесь по первому, и замените значения
foreach($arr1 as &$v){
$v['date_create'] = $arr2[$v['id']];
}
можно варианты предложить со всякими там array_map
и прочими array_intersect_key
, но это все будет куда сложнее выглядеть и поэтому не имеет смысла.
Еще вариант:
$e = array_column($array1, null, 'id');
$output = array_map(
function ($itm) use ($e) {
$id = $itm['id'];
if (isset($e[$id])) {
$itm[1] = $e[$id]['date_create'];
}
return $itm;
},
$array2
);
DEMO
Виртуальный выделенный сервер (VDS) становится отличным выбором
Развернул сайт на Docker, но не могу сконнектить IDE VSCode c моим PHP серверомПосмотрел кучу мануалов, но даже не знаю где посмотреть ошибки от этого...
Есть сайт на Laravel, и есть API, которые расположены на другом сервере, они выполняют все функции ЛК от регистрации до пополнения баланса и прочими...
Я использую виджет kartik yii2-widget-fileinputВо вью вставил следующий код: