• PHP Video Tutorials

PHP array_diff_assoc() Function



Definition and Usage

The array_diff_assoc() function compares two arrays (or more) arrays and returns the difference.

This function compares the keys and values of two (or more) arrays and return an array that contains the entries from array1 but that are not present in array2 or array3, etc.

This function is different than array_diff() function because array_diff() uses only values to compare with other arrays where as array_diff_assoc() function uses keys and values while comparing with other arrays.

Syntax

array array_diff_assoc( array $array1, array $array2 [, array $array3...] );

Parameters

Sr.No Parameter & Description
1

array1 (Required)

It is an array to compare from

2

array2 (Required)

It is an array to be compared with the first array

3

array3 (Optional)

It is an array to be compared with the first array

Return Values

The function array_diff_assoc() returns an array containing all the values from array1 that are not present in any of the other arrays with the same keys.

PHP Version

This function was first introduced in PHP Version 4.3.0.

Example

Try out following example. Here "a" => "orange" and "c"=>"banana" are present in both the arrays, so it is not available in the result −

<?php
   $input1 = array( "a"=>"orange", "b"=>"mango", "c"=>"banana");
   $input2 = array( "a"=>"orange", "b"=>"apple", "c"=>"banana");
   print_r(array_diff_assoc($input1, $input2));
?>

This will produce the following result −

Array
(
    [b] => mango
)

Example

Here both the arrays have different keys and corresponding values for all the pairs, for example "a"=>"orange" is not present in second array, similarly other key value pairs are not present in second array so they will be available in the result −

<?php
   $input1 = array( "a"=>"orange", "b"=>"mango", "c"=>"banana");
   $input2 = array( "a"=>"banana", "b"=>"apple", "c"=>"orange");
   print_r(array_diff_assoc($input1, $input2));
?>

This will produce the following result −

Array
(
    [a] => orange
    [b] => mango
    [c] => banana
)

Example

This example clarifies that two values from key => value pairs are considered equal only if (string) $elem1 === (string) $elem2. −

<?php
    $input1 = array(0, 5, 20);
    $input2 = array("00", "05", "20");
    $result = array_diff_assoc($input1, $input2);
    print_r($result);
?>

This will produce the following result −

Array
(
    [0] => 0
    [1] => 5
)
php_function_reference.htm
Advertisements