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);
?>

Contoh Berjalan

定义和用法

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

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

该函数比较两个(或更多个)数组的键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1)dalam, tetapi bukan dalam mana-mana array parameter lain (array2 atau array3 dan lain-lain) kunci dan nilai.

说明

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

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

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

语法

array_udiff(array1,array2,array3...myfunction)
Parameter Deskripsi
array1 Diperlukan. Array pertama yang dibandingkan dengan array lain.
array2 Diperlukan. Array yang dibandingkan dengan array pertama.
array3,... Pilihan. Array lain yang dibandingkan dengan array pertama.
myfunction

Diperlukan. Nilai string, menakrifkan fungsi yang dapat dipanggil.

Jika parameter pertama lebih kecil dari atau sama dengan lebih besar daripada parameter kedua, fungsi pengbanding mesti kembalikan bilangan bulat yang lebih kecil dari atau lebih besar daripada 0.

Butir Teknik

Kembalikan nilai: Kembalikan array perbezaan, array ini mengandungi semua yang dijumpai dalam array yang dibandingkan (array1)dalam, tetapi bukan dalam mana-mana array parameter lain (array2 atau array3 dan lain-lain) kunci dan nilai.
Versi PHP: 5.1.0+

Contoh Lebih Banyak

Contoh 1

Bandingkan kunci dan nilai tiga array (menggunakan fungsi yang ditakrifkan pengguna untuk membandingkan kunci dan nilai), dan kembalikan set perbezaan:

<?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);
?>

Contoh Berjalan