PHP - array_intersect_uassoc() 函数


PHP 的 array_intersect_uassoc() 函数用于计算多个数组的键名和键值的交集,但允许通过用户自定义的回调函数来比较键名(key)。与 array_intersect_assoc() 不同,它通过自定义逻辑判断键名是否匹配,而非严格使用 === 运算符,因此适用于需要灵活键名匹配的场景。

定义和用法

返回一个数组,其中包含所有参数中存在的 array1 的所有值。

语法

array_intersect_uassoc($array1, $array2 [, $array3 ..., callback $key_compare_func] );

参数

参数 描述
array1(Required) 第一个数组是将与其他数组进行比较的数组。
array2(Required) 与第一个数组进行比较的数组
array3(Optional) 与第一个数组进行比较的数组
key_compare_func(Required) 用户定义的回调函数。

返回值

返回一个数组,其中包含所有参数中存在的 array1 的所有值。

示例

试试下面的例子 -

<?php
   $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
   $input2 = array("a" => "GREEN", "B" => "brown", "yellow", "RED");
   
   $result = array_intersect_uassoc($input1, $input2, "strcasecmp");
   print_r($result);
?> 

这将产生以下结果 -

Array ( [b] => brown )