php 中很少使用的函数,了解一下还是好的。
主要功能都是比较数组,返回数组交集。
array_uintersect(array1, array2, string);
作用:
自定义函数比较俩个或者多个数组, 只比较 value
参数:
array1: 被比较的数组 1
array2: 比较的数组 2
string:自定义函数名
返回值:
返回数组的交集
例子:比较 3 个数组
- $a1 = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow');
- $a2 = array('c' => 'blue', 'a' => 'red');
- $a3 = array('b' => 'blue');
- function myFunction($a, $b)
- {
- if($a === $b)
- {
- return 0;
- }
- return $a > $b? 1 : -1;
- }
- $res = array_uintersect($a1, $a2, $a3, 'myFunction');
- print_r($res);
- 输出结果:
- Array
- (
- [b] => blue
- )
array_uintersect_assoc(array1, array2, string);
作用:
使用自定义函数比较俩个或者多个数组, 比较 key 和 value
参数:
array1: 被比较的数组
array2: 比较的数组
string:函数名
返回值:
返回数组中的交集(key 与 value 都要相同)
例子:比较 3 个数组
- $a1 = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow');
- $a2 = array('c' => 'blue', 'a' => 'red');
- $a3 = array('a' => 'red');
- function myFunction($a, $b)
- {
- if($a === $b)
- {
- return 0;
- }
- return $a > $b? 1 : -1;
- }
- //$res = array_uintersect($a1, $a2, $a3, 'myFunction');
- $res = array_uintersect_assoc($a1, $a2, $a3,'myFunction');
- print_r($res);
- 输出结果:
- Array
- (
- [a] => red
- )
array_uintersect_uassoc(array1, array2, string1, string2);
作用:
自定义 key 和 value 的比较函数比较 key 和 value
参数:
array1: 被比较的数组 1
array2: 比较的数组
string1: 自定义比较 key 的函数名
string2: 自定义比较 value 的函数名
返回值:
比较后数组的交集
例子:比较 3 个数组
- $a1 = array('a' => 'red', 'b' => 'blue', 'c' => 'yellow');
- $a2 = array('c' => 'blue', 'a' => 'red');
- $a3 = array('a' => 'red');
- function myKey($a, $b)
- {
- if($a === $b)
- {
- return 0;
- }
- return $a > $b? 1 : -1;
- }
- function myValue($a, $b)
- {
- if($a === $b)
- {
- return 0;
- }
- return $a > $b? 1 : -1;
- }
- $res = array_uintersect_uassoc($a1, $a2, $a3, 'myKey', 'myValue');
- print_r($res);
- 输出结果:
- Array
- (
- [a] => red
- )
来源: