PHP
Finding Differences Between Arrays by Keys and Values
Understand how to precisely compare two arrays and find their differences, considering both keys and values, using PHP's `array_diff_assoc`.
<?php
$array1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry', 'd' => 'date'];
$array2 = ['a' => 'apple', 'b' => 'grape', 'e' => 'elderberry'];
$diff = array_diff_assoc($array1, $array2);
/*
$diff is now:
Array
(
[b] => banana
[c] => cherry
[d] => date
)
*/
// Example with numeric keys
$array3 = [0 => 'red', 1 => 'green', 2 => 'blue'];
$array4 = [0 => 'red', 1 => 'yellow', 3 => 'purple'];
$diff2 = array_diff_assoc($array3, $array4);
/*
$diff2 is now:
Array
(
[1] => green
[2] => blue
)
*/
?>
How it works: The `array_diff_assoc()` function compares two (or more) arrays and returns the values from the first array that are not present in any of the other arrays, considering both the value AND the key. This is more strict than `array_diff()` (which only compares values) and `array_diff_key()` (which only compares keys), making it ideal for scenarios where both key-value pairs must match to be considered identical.