一梦千年系列
array_intersect_key1
只比较键名计算数组的交集
- 说明
array_intersect_key(array $array1, array $array2, array ...) : array
- 参数
array1
要检查的数组
array2
用于比较的数组
...
更多用户比较的数组
- 返回值
返回一个数组,键名存在于array1,同时也存在于其它用户比较的数组中
- 范例
$array1 = [
‘name‘ => ‘swk‘,
‘age‘ => 22,
‘sex‘ => 1
];
$array2 = [
‘name‘ => ‘zbj‘,
‘age‘ => 23,
‘height‘ => 176
];
$newArray = array_intersect_key($array1, $array2);
print_r($newArray);
以上范例会输出
Array
(
[name] => swk
[age] => 22
)
- 特别注意
只是比较键名,不比较键值,所以上面的范例中,键名都有name、age,虽然键值不同,也算交集
一梦千年系列
array_intersect_ukey2
只比较键名计算交集,比较方式使用用户自定义函数
- 说明
array_intersect_ukey(array $array1, array $array2, array ..., callback $func) : array
- 参数
array1
要检查的数组
array2
用于比较的数组
...
更多用户比较的数组
func
用户自定义比较的函数
- 返回值
返回一个数组,键名即存在于array1中,也存在于其它数组中,键名的比较方式是用户自定义函数
- 范例
$array1 = [
‘name‘ => ‘swk‘,
‘age‘ => 22,
‘sex‘ => 1
];
$array2 = [
‘name‘ => ‘zbj‘,
‘age‘ => 23,
‘sex‘ => 2
];
function func($a, $b)
{
return 0;
}
$newArray = array_intersect_ukey($array1, $array2, ‘func‘);
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别说明
只比较键名,使用用户自定义的函数比较键名
一梦千年系列
array_intersect3
计算数组的交集,只比较键值,保留键名
- 说明
array_intersect(array $array1, array $array2, array ...) : array
- 参数
array1
要检查的数组
array2
用于比较的数组
...
更多用于比较的数组
- 返回值
返回一个数组,键值相同的交集数组
- 范例
$array1 = [
‘name‘ => ‘swk‘,
‘age‘ => 22,
‘sex‘ => 1
];
$array2 = [
‘nickname‘ => ‘swk‘,
‘age‘ => 23,
‘sex‘ => 1
];
$newArray = array_intersect($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[sex] => 1
)
- 特别说明
计算交集只比较键值
一梦千年系列
array_key_exists4
检查数组中是否有指定的键名
- 说明
array_key_exist(mixed $key, array $array) : bool
数组array中有键名key时返回true,否则返回false
- 参数
key
要检查的键名
array
要检查的数组
- 返回值
返回布尔值,检查到键名返回true,否则返回false
- 范例
$array = [
‘name‘ => ‘swk‘,
‘age‘ => 22,
‘sex‘ => 1
];
$key = ‘name‘;
$res = array_key_exists($key, $array);
var_dump($res);
以上范例输出
bool(true)
- 特别说明
虽然说第二个数组参数也可以传对象,但是不建议,如果判断对象中是否有属性,则使用property_exists
一梦千年系列
array_key_first5
获取数组的第一个键名
- 说明
array_key_first(array $array) : mixed
- 参数
array
要操作的数组
- 返回值
返回一个有效的键名,如果是空数组,则返回null
- 范例
$array = [
‘name‘ => ‘swk‘,
‘age‘ => 22,
‘sex‘ => 1
];
$res = array_key_first($array);
var_dump($res);
以上范例输出
string(4) "name"
- 特别说明
获取数组的第一个键名,如果数组为空,则返回null