Итак, проблема в том, что у меня есть 2 массива:
Array1:
[0] => Array
(
[misc_assignmentnbr] => 11000
[misc_date] => 2019-10-03
[user_id] => 111126
[extra_info] => "test"
)
[1] => Array
(
[misc_assignmentnbr] => 12000
[misc_date] => 2019-10-03
[user_id] => 111127
[extra_info] => "test"
)
[2] => Array
(
[misc_assignmentnbr] => 7000
[misc_date] => 2019-10-04
[user_id] => 111126
[extra_info] => "test"
)
[3] => Array
(
[misc_assignmentnbr] => 8000
[misc_date] => 2019-10-04
[user_id] => 111127
[extra_info] => "test"
)
Array2:
[12345] => Array
(
[user_id] => 111126
[date] => 2019-10-03
)
[12346] => Array
(
[user_id] => 111127
[date] => 2019-10-03
)
[12347] => Array
(
[user_id] => 111126
[date] => 2019-10-04
)
[12348] => Array
(
[user_id] => 111127
[date] => 2019-10-04
)
и хотите вернуть массив следующим образом:
[12345] => Array
(
[misc_assignmentnbr] => 11000
[misc_date] => 2019-10-03
[user_id] => 111126
[extra_info] => "test"
)
[12346] => Array
(
[misc_assignmentnbr] => 12000
[misc_date] => 2019-10-03
[user_id] => 111127
[extra_info] => "test"
)
[12347] => Array
(
[misc_assignmentnbr] => 7000
[misc_date] => 2019-10-04
[user_id] => 111126
[extra_info] => "test"
)
[12348] => Array
(
[misc_assignmentnbr] => 8000
[misc_date] => 2019-10-04
[user_id] => 111127
[extra_info] => "test"
)
Результирующий массив в основном тот же Array1, но с добавлением ключа Array2 в зависимости от его значений.
Есть способ сделать это в PHP, не имея 2 вложенных foreach?
Заранее спасибо.
Текущее решение (с использованием foreachs):
foreach($addedElements as $item) {
foreach($jsonElements as $key=>$map) {
if(in_array($item['misc_date'], $map) && in_array($item['user_id'], $map)){
$resultArray[$key][] = $item;
break;
}
}
}
Но хотел знать, есть ли другой способ использовать функции PHP