دالة PHP array_diff_ukey()

مثال

مقارنة مفتاحي مجموعتين (استخدام دالة مقارنة مخصصة) وإرجاع مجموعة فرعية:

<?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_diff_ukey($a1,$a2,"myfunction");
print_r($result);
؟

运行实例

التعريف والاستخدام

يستخدم دالة array_diff_ukey() مقارنة مفتاحي مجموعتين (أو أكثر) ويقوم بإرجاع مجموعة فرعية.

التعليقات:استخدام دالة مقارنة مخصصة!

يقارن هذا الدالة بين مفتاحي مجموعتين (أو أكثر) ويقوم بإرجاع مجموعة فرعية تتضمن جميع المفاتيح في الأنواع التي يتم مقارنتها.array1)中,但是不在任何其他参数数组(array2array3 等等)中的键名。

النحو

array_diff_ukey(array1,array2,array3...,myfunction);
الم参数 الوصف
array1 مطلوب. مجموعة الأولى يتم مقارنتها بأخرى.
array2 مطلوب. مجموعة يتم مقارنتها بمجموعة الأولى.
array3,... اختياري. مجموعة أخرى يتم مقارنتها بمجموعة الأولى.
myfunction مطلوب. تعريف نص يمكن استدعاء دالة مقارنة. إذا كان المعامل الأول أقل من، مساو أو أكبر من المعامل الثاني، يجب أن يعود الدالة المقارنة بالعدد الصحيح الأصغر، المساو أو الأكبر من 0.

说明

array_diff_ukey() 返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值。注意关联关系保留不变。与 array_diff() 不同的是,比较是根据键名而不是值来进行的。

此比较是通过用户提供的回调函数来进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

技术细节

返回值: 返回差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2array3 等等)中的键名。
PHP 版本: 5.1+

更多实例

例子 1

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

<?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"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_diff_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
؟

运行实例