每日函数(2021.08.05)
一梦千年系列
array_change_key_case1
将数组中所有的键名修改为全大写或者小写
- 说明
array_change_key_case(array $array, int $case = CASE_LOWER) : array
- 参数
array
需要操作的数组
case
键名是大写还是小写的参数,参数可以是俩个常量,CASE_UPPER
和CASE_LOWER
(默认值)
- 返回值
返回一个键名全是大写或者小写的数组,如果输入值不是一个数组,那么返回false
- 范例
$inputArray = [
'name' => 'leruge',
'AGE' => 26
];
$newArray = array_change_key_case($inputArray, CASE_LOWER);
print_r($newArray);
以上范例会输出
Array
(
[name] => leruge
[age] => 26
)
- 特别注意
如果一个数组中的多个键名转换以后变成一样的话,最后一个值将会覆盖其它的值。
一梦千年系列
array_chunk2
将一个数组分割成多个
- 说明
array_chunk(array $array, int $length, bool $preserve_keys = false) : array
将一个数组分割成多个数组,其中每个数组的元素个数由length决定,最有一个数组的长度可能小于length个
- 参数
array
需要操作的数组
length
每个数组的个数
preserve_keys
设为true
保留原来的键名,如果设为false
则每个数组的索引都是从零开始,默认是是false
- 返回值
分割好的多个数组组合的一个数组
- 范例
$inputArray = [1, 2, 3, 4, 5, 6, 7, 8];
$newArray = array_chunk($inputArray, 2);
print_r($newArray);
以上范例会输出
Array
(
[0] => Array
(
[0] => 1
[1] => 2
)
[1] => Array
(
[0] => 3
[1] => 4
)
[2] => Array
(
[0] => 5
[1] => 6
)
[3] => Array
(
[0] => 7
[1] => 8
)
)
- 特别注意
如果
length
小于1,会抛出一个E_WARNING
错误并返回null
一梦千年系列
array_column3
返回数组中指定列的值,组装成新的数组
- 说明
array_column(array $array, int|string|null $column_key, int int|string|null $index_key = null) : array
返回指定数组中键名为column_key
的一列值,如果指定了可选参数index_key
,则index_key
列的值将作为新数组的键名
- 参数
array
原始数组或者对象数组。如果时候对象数组,只有public的属性会被直接取出,如果想取出private和protected,则必须实现__get和__isset魔术方法
column_key
需要返回值的列。可以时候null,此时将返回整个数组,配合index_key参数来重新索引数组
index_key
作为返回数组的键名
- 返回值
返回指定数组的某列值。
- 范例
$inputArray = [
['id' => 1, 'name' => 'swk'],
['id' => 2, 'name' => 'zbj'],
['id' => 3, 'name' => 'ss']
];
$newArray = array_column($inputArray, 'id', 'name');
print_r($newArray);
以上范例输出
Array
(
[swk] => 1
[zbj] => 2
[ss] => 3
)
- 特别说明
如果指定的数组是对象数组,且没有可访问的属性,则会返回空数组
一梦千年系列
array_combine4
- 说明
array_combine(array $key_array, array $value_array) : array
返回一个新的数组,key_array作为键名,value_array作为键值
- 参数
key_array
作为键名的数组,非法的值将会被转换诶字符串类型
value_array
作为键值的数组
- 返回值
返回新生成的数组,如果俩个数组的元素个数不同,则返回false
- 范例
$keyArray = ['id', 'name', 'age'];
$valueArray = [1, 'swk', 26];
$newArray = array_combine($keyArray, $valueArray);
print_r($newArray);
以上范例会数组
Array
(
[id] => 1
[name] => swk
[age] => 26
)
- 特别说明
如果作为键名的数组和作为键值的数组,元素个数不一样的会,会抛出错误
一梦千年系列
array_count_values5
统计数组中所有值出现的次数
- 说明
array_count_values(array $array) : array
- 参数
array
指定的数组
- 返回值
返回一个关联数组,统计数组中每个值出现的次数
- 范例
$inputArray = [1, 2, 8, 2, 1, 9, 7, 5, 3, 2, 4];
$newArray = array_count_values($inputArray);
print_r($newArray);
以上范例输出
Array
(
[1] => 2
[2] => 3
[8] => 1
[9] => 1
[7] => 1
[5] => 1
[3] => 1
[4] => 1
)
- 特别说明
对数组里面不是string或int类型的元素会抛出错误无