每日函数(2021.08.12)
一梦千年系列
今日函数
array_search
、array_shift
、array_slice
、array_splice
、array_sum
array_search1
在数组中搜索指定的值,如果搜索到则返回首个键名,如果没有搜索到则返回false
- 说明
array_search(mixed $needle, array $array, bool $strict = false) : mixed
- 参数
needle
需要搜索的值,如果是字符串,区分大小写
array
搜索的数组
strict
是否严格比较相同
- 返回值
返回搜索到的键名,如果搜索不到则返回false
- 范例
$array = [
"name" => "swk",
"age" => 22,
"sex" => 1
];
$res = array_search("swk", $array);
print_r($res);
以上范例会输出
name
- 特别注意
搜索到返回键名,搜索不到返回false
array_shift2
将数组开头的元素移除数组
- 说明
array_shift(array $array) : array
- 参数
array
需要操作的数组
- 返回值
返回移除的数组的元素值,如果数组是空,则返回null
- 范例
$array = [
"name" => "swk",
"age" => 22,
"sex" => 1
];
array_shift($array);
print_r($array);
以上范例输出
Array
(
[age] => 22
[sex] => 1
)
- 特别说明
移除元素以后,索引键会重新索引
array_slice3
截取数组中的一段
- 说明
array_slice(array $array, int $offset, int $length = null, bool $preserve_key = false) : array
- 参数
array
需要截取的原数组
offset
截取开始的位置,正数的话就从数组的偏移量开始,负数的话就从数组结尾距离开始
preserve_key
如果数组是索引数组,是否保留键名
- 返回值
返回截取的数组
- 范例
$array = [1, 2, 3, 4, 5];
$newArray = array_slice($array, 3, 2);
print_r($newArray);
以上范例输出
Array
(
[0] => 4
[1] => 5
)
- 特别说明
切记数组截取值只能从前往后截取,offset当做计算开始位置,length计算结束位置,如果开始位置大于数组长度,则返回空数组,结束位置在开始之前,也返回空数组
array_splice4
替换数组中的一部分
- 说明
array_splice(array &$array, int $offset, int $length = count($input), mixed $replacement []) : array
- 参数
array
需要操作的数组
offset
替换开始的位置,如果是正数,则从数组的偏移量位置开始,如果是负数,则从距离结尾的地方开始
length
替换结束的位置,如果是正数,则是数组需要替换的个数,如果是负数,则停止于距离结尾该数量的位置
replacement
替换的变量,去掉的部分将被这个变量替换,如果为空则不替换,只移除
- 返回值
返回去掉的部分
- 范例
$array = [1, 2, 3, 4, 5];
$replacement = [7, 8, 9];
array_splice($array, 3, 2, $replacement);
print_r($array);
以上范例输出
Array
(
[0] =>
[1] => 2
[2] => 3
[3] => 7
[4] => 8
[5] => 9
)
- 特别说明
注意计算开始位置和结算位置
array_sum5
对数组所有的值求和
- 说明
array_sum(array $array) : number
- 参数
array
求和的数组
- 返回值
返回数组的和
- 范例
$array = [1, 2, 3, 4, 5];
$res = array_sum($array);
print_r($res);
以上范例输出
15
- 特别说明
如果数组中存在对象或者非数值型的值,则都按照0计算,空数组的求和是0