牛牛在线工具

array_uintersect_uassoc()

收录 8868 个 PHP 函数,含用途说明与用法示例。

array_uintersect_uassoc()

获取两个或更多数组的交集,同时使用用户自定义的回调函数比较数组的键和值

array_uintersect_uassoc() 函数用于获取两个或更多数组的交集,同时使用用户自定义的回调函数比较数组的键和值。 用法: array_uintersect_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func , callable $value_compare_func ): array 参数: $array1:第一个数组。 $array2:第二个数组。 ...:(可选)其他数组。 $key_compare_func:一个用户自定义的回调函数用于比较数组的键。该函数接受两个键作为参数,并在它们相等时返回0。 $value_compare_func:一个用户自定义的回调函数用于比较数组的值。该函数接受两个值作为参数,并在它们相等时返回0。 返回值:返回一个新数组,其中包含所有输入数组的键和值的交集。 示例: // 自定义回调函数用于比较数组的键 function keyCompare($key1, $key2) { if ($key1 == $key2) { return 0; } elseif ($key1 > $key2) { return 1; } else { return -1; } } // 自定义回调函数用于比较数组的值 function valueCompare($value1, $value2) { if ($value1 == $value2) { return 0; } elseif ($value1 > $value2) { return 1; } else { return -1; } } $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("b" => "banana", "c" => "cherry", "d" => "date"); $array3 = array("c" => "cherry", "d" => "date", "e" => "elderberry"); $result = array_uintersect_uassoc($array1, $array2, $array3, "keyCompare", "valueCompare"); // 输出结果 echo "<pre>"; print_r($result); echo "</pre>"; 输出结果: Array ( [c] => cherry ) 在以上示例中,我们使用自定义的回调函数 keyCompare() 和 valueCompare() 来比较数组的键和值。函数 array_uintersect_uassoc() 返回了输入数组 $array1、$array2 和 $array3 中键和值的交集,只有 "c" 键的值 "cherry" 存在于所有三个数组中。