{site_name}

{site_name}

🌜 搜索

PHP函数array_uintersect()用于计算两个或更多数组的交集,它使用回调函数来比较数组的值

php 𝄐 0
PHP array_map,Php array内部实现,Php array_column,phpark,phparray,phparray_push
PHP函数array_uintersect()用于计算两个或更多数组的交集,它使用回调函数来比较数组的值。具体来说,这个函数返回一个数组,其中包含所有输入数组中都存在的元素。

该函数的语法如下:
php
array_uintersect ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array

其中,
- $array1 :第一个要比较的数组。
- $array2 :第二个要比较的数组。
- $... :(可选)要与第一个和第二个数组进行比较的其他数组。
- $value_compare_func :一个回调函数,用于比较数组的元素。

这个回调函数应该接受两个参数,比较它们的值,如果相等则返回0,否则返回非零值。

以下是一个例子,假设有两个数组,分别为$arr1和$arr2:
php
$arr1 = array("apple", "banana", "orange", "pear");
$arr2 = array("pineapple", "banana", "watermelon", "pear");

function my_compare($a, $b) {
if ($a === $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}

$result = array_uintersect($arr1, $arr2, 'my_compare');
print_r($result);

以上代码将输出:

Array (
[1] => banana
[3] => pear
)

解释:由于回调函数my_compare()返回0的元素是banana和pear,它们在两个数组中都存在,因此它们是交集的一部分。

注意:回调函数必须使用字符串形式作为第四个参数传递给array_uintersect()。