array_intersect(array1, array2);
作用:
比较俩个或者多个数组的value值,返回交集
参数:
array1:需要比较的数组
array2:与第一个数组做比较
返回:
返回交集的数组
例子:比较2个和3个数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$arrOne
=
array
(
'a'
=>
'blue'
,
'b'
=>
'yellow'
,
'c'
=>
'red'
,
'd'
=>
'purple'
);
$arrTwo
=
array
(
'a'
=>
'yellow'
,
'c'
=>
'red'
);
$arrThree
=
array
(
'a'
=>
'yellow'
);
$res1
=
array_intersect
(
$arrOne
,
$arrTwo
);
$res2
=
array_intersect
(
$arrOne
,
$arrTwo
,
$arrThree
);
print_r(
$res1
);
print_r(
$res2
);
输出结果:
Array
(
[b] => yellow
[c] => red
)
Array
(
[b] => yellow
)
|
array_intersect_assoc(array1, array2);
作用:
比较俩个(或者多个数组)的key 和 value值,返回数组的交集
与array_intersect() 比较的是value
参数:
array1: 需要比较的数组
array2: 与第一个数组做比较
返回值:
俩个或者多个数组交集的数组
例子:比较俩个数组
1
2
3
4
5
6
7
8
9
10
|
$arrOne
=
array
(
'a'
=>
'blue'
,
'b'
=>
'yellow'
,
'c'
=>
'red'
,
'd'
=>
'purple'
);
$arrTwo
=
array
(
'a'
=>
'purple'
,
'c'
=>
'red'
);
$res
=
array_intersect_assoc
(
$arrOne
,
$arrTwo
);
print_r(
$res
);
输出参数:
Array
(
[c] => red
)
|
arrray_intersect_key(array1, array2);
作用:
比较俩个数组(或者多个数组)的交集,只是比较key
参数:
array1:需要比较的数组
array2:与第一个数组比较
返回值:
比较后的交集数组
例子:比较俩个数组的key
1
2
3
4
5
6
7
8
9
10
11
|
$arrOne
=
array
(
'a'
=>
'blue'
,
'b'
=>
'yellow'
,
'c'
=>
'red'
,
'd'
=>
'purple'
);
$arrTwo
=
array
(
'a'
=>
'purple'
,
'b'
=>
'red'
,
'c'
=>
'yellow'
);
$res
=
array_intersect_key
(
$arrOne
,
$arrTwo
);
print_r(
$res
);
输出结果:
Array
(
[a] => blue
[b] => yellow
[c] => red
)
|
array_intersect_uassoc(array1, array2, string);
作用:
比较俩个或者多个数组的key和value,自定义的函数比较的是key值
参数:
array1: 需要比较的数组
array2:与第一个数组比较
string: 自定义的函数名
返回值:
返回数组的交集数组
例子: strcasecmp php二进制安全比较字符串(不区分大小写)
1
2
3
4
5
6
7
8
9
|
$array1
=
array
(
"a"
=>
"green"
,
"b1"
=>
"brown"
);
$array2
=
array
(
"a"
=>
"green"
,
"B"
=>
"brown"
);
$res
=
array_intersect_uassoc
(
$array1
,
$array2
,
"strcasecmp"
);
print_r(
$res
);
输出结果:
Array
(
[a] => green
)
|
array_intersect_ukey(array1, array2, string);
作用:
比较俩个数组或者多个数组的key,返回交集
参数:
array1:需要比较的数组
array2: 与第一个数组进行比较
string: 自定义函数名
返回值:
返回俩个数组的交集
例子: 比较俩个数组的交集
1
2
3
4
5
6
7
8
9
|
$array1
=
array
(
"a"
=>
"green"
,
"b"
=>
"brown"
);
$array2
=
array
(
"a"
=>
"Green"
,
"b1"
=>
"brown"
);
$res1
=
array_intersect_ukey
(
$array1
,
$array2
,
'strcasecmp'
);
print_r(
$res1
);
输出结果:
Array
(
[a] => green
)
|