PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

array_diff> <array_diff_uassoc
Last updated: Sat, 24 Mar 2007

view this page in

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Computes the difference of arrays using a callback function on the keys for comparison

Description

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

array_diff_ukey() returns an array containing all the values of array1 that have keys that are not present in any of the other arguments. Note that the associativity is preserved. This function is like array_diff() except the comparison is done on the keys instead of the values.

This comparison is done by a user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first key is considered to be respectively less than, equal to, or greater than the second.

Příklad 177. array_diff_ukey() example

<?php
function key_compare_func($key1, $key2)
{
    if (
$key1 == $key2)
        return
0;
    else if (
$key1 > $key2)
        return
1;
    else
        return -
1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

Výše uvedený příklad vypíše:


array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

    

Poznámka: Please note that this function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff_ukey($array1[0], $array2[0], 'callback_func');.

See also array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_key(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc(), array_intersect_key() and array_intersect_ukey().



add a note add a note User Contributed Notes
array_diff_ukey
jordancdarwin at googlemail dot com
15-Dec-2007 01:41
Note, also that when you are using a callback function you can use the text-placeholders as this function relies on the retval of the function you give.

So, instead of 1,0,-1 you can use TRUE and FALSE if using only two options.

Just thought it may help you

array_diff> <array_diff_uassoc
Last updated: Sat, 24 Mar 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites