一梦千年系列

今日函数array_udiff_assocarray_udiff_uassocarray_udiffarray_uintersect_assocarray_uintersect_uassoc

array_udiff_assoc1

带键名检查数组的差集,键值的比较使用自定义函数

  1. 说明
array_udiff_assoc(array $array1, array ..., callback $func) : array
  1. 参数

array1计算差集的原数组

...更多用于比较的数组

func比较键值是否相同的自定义函数

  1. 返回值

返回一个差集数组,比较键名和键值,键值的比较使用自定义函数

  1. 范例
$array1 = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$array2 = [
    'name' => 'zbj',
    'age' => 22,
    'sex' => 2
];

function func($a, $b) {
    return 1;
}

$newArray = array_udiff_assoc($array1, $array2, 'func');

print_r($newArray);

以上范例会输出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特别注意

键名和键值一起比较,但是键值的比较是用自定义函数

array_udiff_uassoc2

带键名检查数组的差集,键名和键值的比较都使用自定义函数

  1. 说明
array_udiff_uassoc(array $array1, array ..., callback $value_compare_func, callback $key_compare_func) : array
  1. 参数

array1计算差集的原数组

...更多用于比较的数组

value_compare_func比较键值是否相同的自定义函数

key_compare_func比较键名是否相同的自定义函数

  1. 返回值

返回一个差集数组,键名和键值的比较都使用自定义函数

  1. 范例
$array1 = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$array2 = [
    'name' => 'zbj',
    'age' => 22,
    'sex' => 2
];

function value_compare_func($a, $b) {
    return 1;
}

function key_compare_func($a, $b) {
    return 1;
}

$newArray = array_udiff_uassoc($array1, $array2, 'value_compare_func', 'key_compare_func');

print_r($newArray);

以上范例输出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特别说明

键名和键值都使用自定义函数比较

array_udiff3

使用自定义函数比较键值从而计算数组的差集

  1. 说明
array_udiff(array $array1, array ..., callback $func) : array
  1. 参数

array1计算差集的数组

...更多用于比较的数组

func用于比较键值是否相同的自定义函数

  1. 返回值

返回一个差集数组,键值是否相同使用自定义函数比较

  1. 范例
$array1 = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$array2 = [
    'name' => 'zbj',
    'age' => 22,
    'sex' => 2
];

function func($a, $b) {
    return 1;
}

$newArray = array_udiff($array1, $array2, 'func');

print_r($newArray);

以上范例输出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特别说明

只比较键值,使用自定义函数比较键值

array_uintersect_assoc4

带索引检查数组的交集,使用自定义函数比较键值是否相同

  1. 说明
array_uintersect_assoc(array $array1, array ..., callback $func) : array
  1. 参数

array1计算交集的数组

...更多用于比较的数组

func用于比较键值是否相同的自定义函数

  1. 返回值

返回一个交集数组,键值是否相同使用自定义函数比较

  1. 范例
$array1 = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$array2 = [
    'name' => 'zbj',
    'age' => 22,
    'sex' => 2
];

function func($a, $b) {
    return 0;
}

$newArray = array_uintersect_assoc($array1, $array2, 'func');

print_r($newArray);

以上范例输出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特别说明

带索引检查数组的交集,键值的比较使用自定义函数

array_uintersect_uassoc5

带索引检查数组的交集,使用自定义函数比较键名和键值是否相同

  1. 说明
array_uintersect_uassoc(array $array1, array ..., callback $value_compare_func, callback $key_compare_func) : array
  1. 参数

array1计算交集的数组

...更多用于比较的数组

value_compare_func用于比较键值是否相同的自定义函数

key_compare_func用于比较键名是否相同的自定义函数

  1. 返回值

返回一个交集数组,键名和键值是否相同都使用自定义函数比较

  1. 范例
$array1 = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$array2 = [
    'name' => 'zbj',
    'age' => 22,
    'sex' => 2
];

function value_compare_func($a, $b) {
    return 0;
}

function key_compare_func($a, $b) {
    return 0;
}

$newArray = array_uintersect_uassoc($array1, $array2, 'value_compare_func', 'key_compare_func');

print_r($newArray);

以上范例输出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特别说明

键名和键值都使用自定义函数比较是否相同

版权声明:本文为leruge原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/leruge/p/15136063.html