PHP array_udiff_uassoc() 函数

实例

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

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

运行实例

定义和用法

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

注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!

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

说明

array_udiff_uassoc() 函数返回 array1 数组中存在但其它数组中都不存在的部分。返回的数组中键名保持不变。

注意与 array_diff() 以及 array_udiff() 不同的是键名也用于比较。同时进行键名和键值的比较,如 "a"=>1 和 "b"=>1 这两个元素是不相等的。

对键名(索引)的检查也是由回调函数 myfunction_key 进行的。这和 array_udiff_assoc() kelakuannya berbeda, yang lainnya menggunakan fungsi internal untuk membandingkan indeks.

pembandingan data array adalah menggunakan fungsi kembalikan yang disediakan pengguna. myfunction_value dibandingkan. Dalam hal ini dan array_diff_assoc() kelakuannya sama seperti, yang lainnya menggunakan fungsi internal untuk membandingkan.

Kedua fungsi ini memiliki dua parameter yang akan dibandingkan. Jika parameter pertama lebih kecil dari parameter kedua, fungsi mengembalikan bilangan negatif, jika kedua parameter sama, kembalikan 0, jika parameter pertama lebih besar dari parameter kedua, kembalikan bilangan positif.

Sintaks

array_udiff_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
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_key

Diperlukan. Nama fungsi penggunaan yang disesuaikan untuk membandingkan nama kunci array.

Nilai string, mendefinisikan fungsi yang dapat dipanggil untuk membandingkan. Jika parameter pertama lebih kecil dari sama dengan atau lebih besar dari parameter kedua, fungsi pengbanding harus mengembalikan integer yang lebih kecil dari sama dengan atau lebih besar dari 0.

myfunction_value

Diperlukan. Nama fungsi penggunaan yang disesuaikan untuk membandingkan nilai kunci array.

Nilai string, mendefinisikan fungsi yang dapat dipanggil untuk membandingkan. Jika parameter pertama lebih kecil dari sama dengan atau lebih besar dari parameter kedua, fungsi pengbanding harus mengembalikan integer yang lebih kecil dari sama dengan atau lebih besar dari 0.

Detil Teknik

Kembalikan nilai: Mengembalikan array perbezaan, array ini termasuk semua yang di bandingkan dalam array yang di bandingkan (array1dalam () tetapi bukan dalam setiap parameter array lainnya (array2 atau array3 dan nilai kunci (dan nilai) dalam ()
Versi PHP: 5+