Пытаюсь сравнить 2 массива, у которых ключи называются по-разному, а нужно сравнить их значения.
Проблема еще в том, что в первом массиве эти значения повторяются много раз.
Первый массив:
$arr= [ [ "user_id" => "100",
"Цена" => 100,
"Количество" => 15
],
[ "user_id" => "100",
"Цена" => 60,
"Количество" => 25,
],
[ "user_id" => "100",
"Цена" => 180,
"Количество" => 7
]
];
Второй:
$arr2= [ [ "users_id" => "100",
"Цена" => 100,
"Количество" => 15
],
[ "users_id" => "101",
"Цена" => 60,
"Количество" => 25,
],
[ "users_id" => "102",
"Цена" => 180,
"Количество" => 7
]
];
В arr1 user_id, а в arr2 users_id, а я хочу найти разницу и взять только данные из второго массива, чтобы получить такой результат:
$result = [
[ "users_id" => "101",
"Цена" => 60,
"Количество" => 25,
],
[ "users_id" => "102",
"Цена" => 180,
"Количество" => 7
]
];
Я пытаюсь писать через функцию + 2 цикла foreach:
function array_diff_unic($array1, $array2) {
$result=[];
foreach($array1 as $key => $value) {
foreach($array2 as $key2 => $value2) {
if( $array1['user_id'] != $array2['users_id'] ) {
$result[$key] = $value2;
}
}
}
return $result;
}
Но это не работает, кроме того, непонятно, как убрать дубли.