一梦千年系列
今日函数
array_rand、array_reduce、array_reduce_recursive、array_replace、array_reverse
array_rarnd1
随机获取数组中的一个或者多个键名
- 说明
array_rand(array $array, int $num) : mixed
- 参数
array需要操作的数组
num随机获取键名的数量
- 返回值
如果num是1,则返回一个键名,如果大于1则返回一个键名组装的数组
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' =>1
];
$res = array_rand($array, 2);
print_r($res);
以上范例会输出
Array
(
[0] => name
[1] => sex
)
- 特别注意
num参数必须大于等于1,如果num的值大于数组长度,则报错
array_reduce2
使用回调函数循环地将数组转化为单一的值
- 说明
array_reduce(array $array, callback $func, $initial = nul) : mixed
- 参数
array需要操作的数组
func回调函数,参数有俩个,第一个是上次迭代的值,第二个是当前数组迭代的键值
initial初始值
- 返回值
如果数组为空,且没有指定initial,则返回null
- 范例
$array = [1, 2, 3, 4, 5];
function func($a, $b)
{
return $a + $b;
}
$res = array_reduce($array, 'func', 0);
print_r($res);
以上范例输出
15
- 特别说明
如果数组为空,且没有指定initial,则返回null
array_replace_recursive3
使用传递的数组递归替换第一个数组的元素
- 说明
array_replace_recursive(array $array, array ...) : array
后面的数组递归替换第一个数组,如果是同名建则后面的值覆盖前面的
- 参数
array需要操作的数组
...替换的数组
- 返回值
返回一个替换后的数组
- 范例
$array1 = [
'swk' => [
'name' => 'swk',
'age' => 22
],
'zbj' => [
'name' => 'zbj'
]
];
$array2 = [
'swk' => [
'sex' => 1,
],
'zbj' => [
'name' => 'zbj2'
]
];
$newArray = array_replace_recursive($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
[swk] => Array
(
[name] => swk
[age] => 22
[sex] => 1
)
[zbj] => Array
(
[name] => zbj2
)
)
- 特别说明
后面的数组递归替换第一个数组,如果是同名建则后面的值覆盖前面的
array_replace4
使用传递的数组替换第一个数组的元素,不递归,值替换一维的
- 说明
array_replace(array $array, array ...) : array
后面的数组替换第一个数组,如果是同名建则后面的值覆盖前面的
- 参数
array需要操作的数组
...替换的数组
- 返回值
返回一个替换后的数组
- 范例
$array1 = [
'swk' => [
'name' => 'swk',
'age' => 22
],
'zbj' => [
'name' => 'zbj'
]
];
$array2 = [
'swk' => [
'sex' => 1,
],
'zbj' => [
'name' => 'zbj2'
]
];
$newArray = array_replace($array1, $array2);
print_r($newArray);
以上范例输出
Array
(
[swk] => Array
(
[sex] => 1
)
[zbj] => Array
(
[name] => zbj2
)
)
- 特别说明
后面的数组替换第一个数组,如果是同名建则后面的值覆盖前面的,不递归
array_reverse5
颠倒数组顺序
- 说明
array_reverse(array $array, bool $preserve_keys = false) : array
- 参数
array需需要操作的数组
preserve_keys如果操作的是索引数组,是否需要保留键名
- 返回值
返回一个顺序颠倒的数组
- 范例
$array = [
'swk' => [
'name' => 'swk',
'age' => 22
],
'zbj' => [
'name' => 'zbj'
]
];
$newArray = array_reverse($array);
print_r($newArray);
以上范例输出
Array
(
[zbj] => Array
(
[name] => zbj
)
[swk] => Array
(
[name] => swk
[age] => 22
)
)
- 特别说明
返回一个顺序颠倒的数组