【每日函数】每日函数(2021.08.09)
一梦千年系列
今日函数
array_key_last
、array_keys
、array_map
、array_merge_recursive
、array_merge
array_key_last1
获取数组中的最后一个键名
- 说明
array_key_last(array $array) : mixed
- 参数
array
需要操作的数组
- 返回值
返回数组中最有一个键名,如果数组为空,则返回null
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$res = array_key_last($array);
var_dump($res);
以上范例会输出
string(3) "sex"
- 特别注意
不会影响原数组的内部指针
array_keys2
返回数组中所有或者部分键名组成的数组
- 说明
array_keys(array $array) : array
array_keys(array $array, mixed $value, bool $strict = false) : array
- 参数
array
需要操作的数组
value
如果指定了这个参数,只有包含这个键值的键名才会返回
strict
是否严格比较
- 返回值
返回一个数组,包含所有或者部分键名组成的数组
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$res = array_keys($array);
print_r($res);
以上范例会输出
Array
(
[0] => name
[1] => age
[2] => sex
)
- 特别注意
没有特别注意的地方
array_map3
为数组中每个元素应用回调函数
- 说明
array_map(callback $func, array $array, array ...) : array
- 参数
func
回调函数,应用到数组中的每个元素上
array
需要遍历的数组
...
更多需要遍历的数组
- 返回值
返回一个新数组,经过回调函数处理的数组
- 范例
$array = [1, 2, 3, 4];
function func($a)
{
return $a * $a;
}
$newArray = array_map('func', $array);
print_r($newArray);
以上范例输出
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
)
- 特别说明
如果只有一个数组,并且这个数组的键名时候字符串的话,新数组会保留原键名。如果是多个数组,数组长度不一样的话,短的数组会被null补充。如果回调函数是null,则会合并数组
array_merge_recursive4
递归的合并一个或者多个数组,如果有相同的键名,则键值合并为新数组,不会覆盖
- 说明
array_merge_recursive(array ...) : array
- 参数
...
需要合并的数组,可以不传,或者1个,或者多个
- 返回值
返回一个递归合并的数组
- 范例
$array1 = [
'info' => [
'name' => 'swk',
'age' => 22
]
];
$array2 = [
'info' => [
'name' => 'zbj',
'age' => 22
]
];
$newArray = array_merge_recursive($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
[info] => Array
(
[name] => Array
(
[0] => swk
[1] => zbj
)
[age] => Array
(
[0] => 22
[1] => 22
)
)
)
- 特别说明
如果不传参数,则返回一个空数组
array_merge5
数组合并,相同的键名,后面的键值覆盖前面的
- 说明
array_merge(array ...) : array
- 参数
...
需要合并的数组
- 返回值
返回一个数组,相同的键名后面的覆盖前面的
- 范例
$array1 = [
'info' => [
'name' => 'swk',
'age' => 22
]
];
$array2 = [
'info' => [
'name' => 'zbj',
'age' => 22
]
];
$newArray = array_merge($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
[info] => Array
(
[name] => zbj
[age] => 22
)
)
- 特别说明
如果不传参数,则返回一个空数组