【每日函数】每日函数(2021.08.13)

一梦千年系列

今日函数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. 特别说明

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容