• PHP Video Tutorials

PHP array_diff_ukey() Function



Definition and Usage

The array_diff_ukey() compares only the keys of two (or more) arrays using a user-defined function and returns an array that contains the entries from array1 that are not present in array2 or array3, etc.

This function is different from array_diff() function because array_diff() compares values where as this function compares the keys.

This function is different from array_diff_assoc() function because array_diff_assoc() uses internal algorithm to compare the indices, where as this function uses user defined function.

Syntax

array_diff_ukey ( $array1, $array2 [, $array3...,callback $key_compare_func] );

Parameters

Sr.No Parameter & Description
1

array1(Required)

The first array is the array that the others will be compared with.

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

4

key_compare_func(Required)

It is a callback function to use to compare the keys. This callback function must return an integer <, =, > than 0 if the first argument is considered to be respectively <, =, > than the second argument.

Return Values

This function returns an array containing all the entries from array1 that are not present in any of the other arrays.

PHP Version

This function was first introduced in PHP Version 5.1.0.

Example

Try out following example −

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array(0=>"banana", 1=>"orange", 2=>"grapes");
   $input2 = array(3=>"apple",1=>"apricot", 5=>"mango");

   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>

This will produce the following result −

Array
(
    [0] => banana
    [2] => grapes
)

Example

Try out following example −

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
   $input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>

This will produce the following result −

Array
(
    [red] => 2
    [purple] => 4
)
php_function_reference.htm
Advertisements