suche nach in der

array_unique> <array_uintersect_uassoc
Last updated: Fri, 18 May 2012

view this page in

array_uintersect

(PHP 5)

array_uintersect Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion

Beschreibung

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

array_uintersect() gibt ein Array mit allen Werten aus array1 zurück, die ebenfalls in allen anderen Argumenten enthalten sind. Die Daten werden durch eine Callbackfunktion verglichen.

Beispiel #1 array_uintersect() Beispiel

<?php
$array1 
= array("a" => "grün""b" => "braun""c" => "blau""rot");
$array2 = array("a" => "GRÜN""B" => "braun""gelb""rot");

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
    [b] => braun
    [0] => rot
)

Für den Vergleich der Daten wird die angegebene Callbackfunktion herangezogen. Diese muss einen Integer kleiner als, genau gleich oder größer als Null zurückgeben, wenn das erste Argument entsprechend als kleiner, gleich oder größer als das Zweite betrachtet wird.

Siehe auch array_intersect(), array_uintersect_assoc(), array_intersect_uassoc() und array_uintersect_uassoc().



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, 18 May 2012