首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_intersect_ukey - 使用键上的回调函数计算数组的交集以进行比较

描述

代码语言:javascript
复制
array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

array_intersect_ukey()返回一个数组,其中包含所有array1参数中存在匹配键的值。

参数

array1

用于比较数组的初始数组。

array2

第一个数组来比较键。

...

用于比较键的数组参数的变量列表。

key_compare_func

如果第一个参数分别小于,等于或大于第二个参数,则比较函数必须返回小于,等于或大于零的整数。请注意,在PHP 7.0.0之前,此整数必须在-2147483648到2147483647之间。

代码语言:javascript
复制
int callback ( mixed $a, mixed $b )

返回值

返回array1其所有参数中存在其键的值。

示例

示例#1 array_intersect_ukey()示例

代码语言:javascript
复制
<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

上面的例子将输出:

代码语言:javascript
复制
array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

在我们的例子中,你会发现只有'蓝''绿'这两个键出现在两个数组中,因此返回。另请注意,两个数组之间的键'blue''green'的值不同。由于只检查了键,所以仍然会发生匹配。返回的值是array1

另请参阅

  • array_diff() - 计算数组的差异
  • array_udiff() - 通过使用回调函数进行数据比较来计算数组的差异
  • array_diff_assoc() - 通过附加索引检查计算数组的差异
  • array_diff_uassoc() - 通过用户提供的回调函数执行附加索引检查来计算数组的差异
  • array_udiff_assoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据
  • array_udiff_uassoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据和索引
  • array_diff_key() - 使用用于比较的键计算数组的差异
  • array_diff_ukey() - 使用键上的回调函数计算数组的差异以进行比较
  • array_intersect() - 计算数组的交集
  • array_intersect_assoc()- 计算具有额外索引检查的数组的交集
  • array_intersect_uassoc() - 计算具有附加索引检查的数组的交集,通过回调函数比较索引
  • array_intersect_key() - 使用键比较计算数组的交集

← array_intersect_uassoc

array_intersect →

扫码关注腾讯云开发者

领取腾讯云代金券