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

search for in the

array_unique> <array_uintersect_uassoc
Last updated: Fri, 28 Nov 2008

view this page in

array_uintersect

(PHP 5)

array_uintersectComputes the intersection of arrays, compares data by a callback function

Description

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

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

Parameters

array1

The first array.

array2

The second array.

data_compare_func

The callback comparison function.

The user supplied callback function is used for comparison. 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.

Return Values

Returns an array containing all the values of array1 that are present in all the arguments.

Examples

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
)



add a note add a note User Contributed Notes
array_uintersect
Nate at RuggFamily dot com
02-Feb-2007 09: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: Fri, 28 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites