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

search for in the

array_unique> <array_uintersect_uassoc
Last updated: Sun, 25 Nov 2007

view this page in

array_uintersect

(PHP 5)

array_uintersect — Computes the intersection of arrays, compares data by a callback function

Description

array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

array_uintersect() returns an array containing all the values of array1 that are present in all the arguments. The data is compared by using a callback function.

Example#1 array_uintersect() example

<?php
$array1 
= array("a" => "green""b" => "brown""c" => "blue""red");
$array2 = array("a" => "GREEN""B" => "brown""yellow""red");

print_r(array_uintersect($array1$array2"strcasecmp"));
?>

The above example will output:

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

For comparison is used the user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

See also array_intersect(), array_uintersect_assoc(), array_intersect_uassoc() and array_uintersect_uassoc().



add a note add a note User Contributed Notes
array_uintersect
Nate at RuggFamily dot com
02-Feb-2007 12:03
I want to stress that in the user function, you do need to return either a 1 or a -1 properly; you cannot simply return 0 if the results are equal and 1 if they are not. 

The following code is incorrect:

<?php
function myfunction($v1,$v2)
{
if (
$v1===$v2)
    {
    return
0;
    }
return
1;
}

$a1=array(1, 2, 4);
$a2=array(1, 3, 4);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>

This code is correct:

<?php
function myfunction($v1,$v2)
{
if (
$v1===$v2)
    {
    return
0;
    }
if (
$v1 > $v2) return 1;
return -
1;
}
$a1=array(1, 2, 4);
$a2=array(1, 3, 4);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>

array_unique> <array_uintersect_uassoc
Last updated: Sun, 25 Nov 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites