PHP array_diff_uassoc()函数

PHP array_diff_uassoc()函数

定义和用法

array_diff_uassoc()函数比较两个(或多个)数组的键和值,并返回一个数组,其中包含array1中在任何其他具有相同值的数组中不存在的条目。

此函数与array_diff()不同之处在于,array_diff()比较值,而该函数比较其他数组中的键和它们的值。

此函数与array_diff_assoc()不同之处在于,array_diff_assoc()使用内部算法来比较键和它们的值,而该函数使用用户定义的函数来比较键和它们的值。

语法

array_diff_uassoc ( array1,array2 [, array3..., callbackkey_compare_func] );

参数

Sr.No 参数&描述
1 array1(必需) 要比较的数组
2 array2(必需) 要与第一个数组进行比较的数组
3 array3(可选) 要与第一个数组进行比较的数组
4 key_compare_func(必需) 用于比较键的回调函数。这个回调函数必须返回一个整数,如果第一个参数被认为是分别<,=,>第二个参数,则返回<,=,> 0。

返回值

此函数返回一个数组,其中包含所有在array1中但不在任何其他数组中存在的条目。

PHP版本

此函数首次引入于PHP版本5.0.0。

示例

尝试下面的示例。在键比较函数中,如果$input1的键与任何其他输入数组相等,则返回0;如果大于,则返回1;如果小于,则返回-1。

在使用定义的函数比较键时,我们在两个数组中都有键”a”,所以它不会出现在输出中。接下来,键”b”和”c”不在第二个数组中,因此它们将出现在输出中。进一步,键值对0 => “red”出现在输出中,是因为在第二个参数中”red”具有键1 −

<?php
   function key_compare_func(a,b) {
      if (a ===b) {
         return 0;
      }
      return (a>b)? 1: -1;
   }

   input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");input2 = array("a" => "green", "yellow", "red");

   result = array_diff_uassoc(input1, input2, "key_compare_func");

   print_r(result);

?>

这将产生以下结果−

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

示例

尝试下面的示例。这次输出中将不会包含“red”,因为现在两个键相等,都是0。

<?php
   function key_compare_func(a,b) {
      if (a ===b) {
         return 0;
      }
      return (a>b)? 1: -1;
   }

   input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");input2 = array("a" => "green", "c" => "yellow", "red");

   result = array_diff_uassoc(input1, input2, "key_compare_func");

   print_r(result);

?>

这 将 产 生 如 下 结 果 −

Array
(
    [b] => brown
    [c] => blue
)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程