PHP array_udiff() 函数

实例

比较两个数组的键值(使用用户自定义函数比较键值),并返回差集:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_udiff($a1,$a2,"myfunction");
print_r($result);
?>

Kør et eksempel

定义和用法

array_udiff() 函数用于比较两个(或更多个)数组的键值 ,并返回差集。

注释:该函数使用用户自定义函数来比较键值!

该函数比较两个(或更多个)数组的键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1osv.) men ikke i nogen andre parameterarrays (array2 eller array3 osv.) nøglerne.

说明

array_udiff() 函数返回一个数组,该数组包括了所有在被比较数组中,但是不在任何其它参数数组中的值,键名保留不变。

array_udiff() 函数与 array_diff() 函数 的行为不同,后者用内部函数进行比较。

数据的比较是用 array_udiff() 函数的 myfunction 进行的。myfunction 函数带有两个将进行比较的参数。如果第一个参数小于第二个参数,则函数返回一个负数,如果两个参数相等,则要返回 0,如果第一个参数大于第二个,则返回一个正数。

语法

array_udiff(array1,array2,array3...myfunction)
Parametre Beskrivelse
array1 Obligatorisk. Den første array, der sammenlignes med andre arrays.
array2 Obligatorisk. Array, der sammenlignes med den første array.
array3,... Valgfri. Andre arrays, der sammenlignes med den første array.
myfunction

Obligatorisk. Strengværdi, der definerer den kaldbare sammenligningsfunktion.

Hvis den første parameter er mindre end eller lig med den anden parameter, skal sammenligningsfunktionen returnere et heltal mindre end eller lig med 0.

Tekniske detaljer

Returværdi: Returnerer forskelsarrays, som indeholder alle nøgler i de arrays, der sammenlignes (array1osv.) men ikke i nogen andre parameterarrays (array2 eller array3 osv.) nøglerne.
PHP version: 5.1.0+

Flere eksempler

Eksempel 1

Sammenlign nøglerne i tre arrays (brug brugerdefinerede funktioner til at sammenligne nøglerne) og returner forskellen:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow");
$a2=array("A"=>"red","b"=>"GREEN","yellow","black");
$a3=array("a"=>"green","b"=>"red","yellow","black");
$result=array_udiff($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Kør et eksempel