PHP array_udiff_assoc() 函数用法及示例

PHP Array 函数手册

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

语法

array_udiff_assoc ( $array1, $array2 [, $array3 ..., $data_compare_func] );

定义和用法

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

它使用附加的索引检查来计算数组的差,通过回调函数比较数据,并返回一个包含array1中的所有值的数组,这些值没有出现在任何其他参数中。

参数

序号参数及说明
1

array1(必填)

它指定一个数组。

2

array2(必填)

它指定要与第一个数组进行比较的数组。

3

array3(选填)

它指定要与第一个数组进行比较的数组。

4

data_compare_func*(必填)

用户自定义函数的名称。

返回值

array_udiff_assoc() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 与 array_udiff() 不同的是键名也用于比较。数组数据的比较是用用户提供的回调函数进行的。在此方面和 array_diff_assoc() 的行为正好相反,后者是用内部函数进行比较的。

在线示例

array_udiff_assoc使用自定义回调函数比较两个数组的差集

<?php
   function call_back_function($v1,$v2) {
      if ($v1 === $v2) {
         return 0;
      }
      return 1;
   }
   $input = array("a"=>"orange","b"=>"orange","c"=>"mango");
   $input1 = array("a"=>"orange","b"=>"mango","c"=>"orange");
   
   print_r(array_udiff_assoc($input,$input1,"call_back_function"));
?>
测试看看‹/›

输出结果:

Array ( [b] => orange [c] => mango )

   PHP Array 函数手册