Cравнить 2 массива, убрать дубли в PHP
Есть 2 массива, нужно из первого основного массива вычесть второй. Цель, убрать дубли в первом.
Первый основной массив:
$array1 = [
[
'pname' => 'Andrey_Faste',
'vkid' => 2324324
],[
'pname' => 'Aleksey_Andreev',
'vkid' => null
],[
'pname' => 'Ivan_Alekseev',
'vkid' => null
],[
'pname' => 'Ivan_Ivanov',
'vkid' => null
],[
'pname' => 'Ivan_Petrov',
'vkid' => 344366423498
]
];
Второй массив:
$array2 = [
[
'pname' => 'Ivan_Ivanov',
'vkid' => null
],[
'pname' => 'Ivan_Petrov',
'vkid' => null
]
];
Создадим третий дополнительный массив который будет содержать все pname
из второго массива:
$array3 = [];
Наполним третий дополнительный массив данными:
foreach ($array2 as $item) {
array_push($array3, $item['pname']);
}
Перебирем первый массив и проверим есть ли совпадения со вторым, если есть - удаляем:
foreach ($array1 as $key=>$item) {
if (in_array($item['pname'], $array3)) {
unset($array1[$key]);
}
}