Мне нужно сравнить два разных массива, где есть общий ключ.
Я написал функцию, которая делает то, что мне нужно, но я хотел бы знать, есть ли самый быстрый и чистый способ получить тот же результат.
вот мой код:
Пример массива:
Первый массив:
Array
(
[0] => Array
(
[dafid] => daf_60304
[title] => Hansel & Gretel - Cacciatori di streghe
[creation] => 2018-09-01 00:02:25
)
[1] => Array
(
[dafid] => daf_115
[title] => Il grande Lebowski
[creation] => 2018-09-01 00:02:25
)
[2] => Array
(
[dafid] => daf_238636
[title] => Anarchia - La notte del giudizio
[creation] => 2018-09-01 00:02:25
)
А вот 2-й массив:
Array
(
[0] => Array
(
[dafid] => daf_316727
[title] => La notte del giudizio - Election Year
[creation] => 2018-09-01 00:02:25
)
[1] => Array
(
[dafid] => daf_115
[title] => Il grande Lebowski
[creation] => 2018-09-01 00:02:25
)
[2] => Array
(
[dafid] => daf_209112
[title] => Batman v Superman: Dawn of Justice
[creation] => 2018-09-01 00:02:25
)
И результат:
Array
(
[0] => Array
(
[dafid] => daf_60304
[title] => Hansel & Gretel - Cacciatori di streghe
[creation] => 2018-09-01 00:02:25
)
[1] => Array
(
[dafid] => daf_238636
[title] => Anarchia - La notte del giudizio
[creation] => 2018-09-01 00:02:25
)
Результатом должен быть массив без элементов с одинаковым [dafid].
Я получил результат выполнения этой функции, но я ищу более чистое решение.
function removeAlreadyDAF($array1,$array2) {
$dafNextMovies = $array1;
$dafDB = array2;
foreach ($dafDB as $k => $v) {
//$v['dafid']; //id release
foreach ($dafNextMovies as $key => $value) {
//loop release disponibili
if ($value['dafid'] == $v['dafid']) {
unset($dafNextMovies[$key]);
}
}
}
$dafNextMovies = array_values($dafNextMovies);
return $dafNextMovies;
}