Чтобы найти разницу между двумя массивами в PHP, вы можете использовать несколько методов. Вот некоторые распространенные подходы с примерами кода:
- array_diff():
Функция array_diff() возвращает значения из первого массива, которых нет ни в одном из других массивов. Вот пример:
$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$diff = array_diff($array1, $array2);
print_r($diff);
Выход:
Array
(
[0] => 1
[1] => 2
)
- array_diff_assoc():
Функция array_diff_assoc() сравнивает ключи и значения двух массивов и возвращает различия. Вот пример:
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 1, 'b' => 5, 'c' => 3];
$diff = array_diff_assoc($array1, $array2);
print_r($diff);
Выход:
Array
(
[b] => 2
)
- array_udiff():
Функция array_udiff() позволяет вам указать собственную функцию сравнения для поиска различий между двумя массивами. Вот пример:
function compare($a, $b) {
return $a <=> $b;
}
$array1 = [1, 2, 3, 4, 5];
$array2 = [4, 5, 6, 7];
$diff = array_udiff($array1, $array2, 'compare');
print_r($diff);
Выход:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
- array_diff_key():
Функция array_diff_key() сравнивает ключи двух массивов и возвращает различия. Вот пример:
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 1, 'b' => 5];
$diff = array_diff_key($array1, $array2);
print_r($diff);
Выход:
Array
(
[c] => 3
)