1、array_change_key_case()
将数组的所有的键都转换为大写字母或小写字母。
array_change_key_case(array,case)
$arr=array( "SHIFU"=>"唐僧", "dashixiong"=>"悟空" ); $arr1=array_change_key_case($arr,CASE_UPPER); print_r($arr1); //Array ( [SHIFU] => 唐僧 [DASHIXIONG] => 悟空 )
ps.case可选。可能的值:
- CASE_LOWER - 默认值。将数组的键转换为小写字母。
- CASE_UPPER - 将数组的键转换为大写字母。
2、array_chunk()
把数组分割为新的数组块
array_chunk(array,size,preserve_key)
$arr=array("小明","小花","小华","小鸭","小狗","小猫"); print_r(array_chunk($arr,2));
ps.preserve_key参数可选。可能的值:
- true - 保留原始数组中的键名。
- false - 默认。每个结果数组使用从零开始的新数组索引。
$arr=array( "中国"=>"小明", "美国"=>"小花", "韩国"=>"小华", "俄罗斯"=>"小鸭", "英国"=>"小狗", "法国"=>"小猫" ); print_r(array_chunk($arr,2,true));
3、array_column() 5.5+
输入数组中某个单一列的值
array_column(array,columnj_key,index_key)
$arr=array( "shifu"=>array( "name"=>"唐僧", "age"=>"30" ), "dashixiong"=>array( "name"=>"悟空", "age"=>"500" ), "ershixiong"=>array( "name"=>"八戒", "age"=>"230" ) ); $age=array_column($arr,"age"); print_r($age);
4、array_combine()
通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值,键名数组和键值数组的元素个数必须相同!
array_combine(keys,values)
$arr1=array("中国","美国","英国"); $arr2=array("小明","小华","小红"); print_r(array_combine($arr1,$arr2));
5、array_count_values()
统计数组中所有值出现的次数。
array_count_values(array)
$arr1=array("中国","美国","英国","中国","中国","美国"); print_r(array_count_values($arr1));
6、array_fill()
用键值填充数组。
array_fill(index,number,value);
$arr=array_fill(5,4,"hello world"); print_r($arr);
7、array_fill_keys()
使用指定的键和值填充数组。
array_fill_keys(keys,value)
$arr=array("a","b","c","d"); print_r(array_fill_keys($arr,"hello world"));
8、array_filter()
用回调函数过滤数组中的值
array_filter(array,callbackfunction)
function odd($val){ if($val%2==0){ return $val; } } $arr=array(1,2,3,4,5,6,7,8,9); print_r(array_filter($arr,"odd"));
9、array_flip()
用于反转/交换数组中所有的键名以及它们关联的键值。
array_flip(array)
$arr=array( 1 => "a", 2 => "b", 3 => "c", 4 => "d", 5 => "e", ); print_r(array_flip($arr));
10、array_key_exists()
检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。
array_key_exists(key,array)
$arr=array( "中国"=>"小明", "美国"=>"小华", "英国"=>"小伟" ); if(array_key_exists("中国",$arr)){ echo "键存在"; //键存在 }else{ echo "键不存在"; }
11、array_keys()
返回包含数组中所有键名的一个新数组。
array_keys(array,value,strict)
$arr=array( "中国"=>"小明", "美国"=>"小华", "英国"=>"小伟" ); print_r(array_keys($arr));
ps.value可选。您可以指定键值,然后只有该键值对应的键名会被返回。
$arr=array( "中国"=>"小明", "美国"=>"小华", "英国"=>"小伟", "俄罗斯"=>"小明" ); print_r(array_keys($arr,"小明"));
strict可选。与 value 参数一起使用。可能的值:
- true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。
- false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。
$arr=array( "中国"=>5, "美国"=>"小华", "英国"=>"小伟", "俄罗斯"=>"5" ); print_r(array_keys($arr,"5",true));
12、array_map()
将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
array_map(myfunction,array1,array2,array3...)
$arr=array(1,2,3,4,5); function fn($v){ return $v*2; } print_r(array_map("fn",$arr));
13、array_merge()
把一个或多个数组合并为一个数组。
array_merge(array1,array2,array3...)
$arr1=array("中国","美国"); $arr2=array("英国","法国"); print_r(array_merge($arr1,$arr2));
14、array_merge_recursive()
把一个或多个数组合并为一个数组。该函数与 array_merge() 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
array_merge_recursive(array1,array2,array3...)
$arr1=array( "中国"=>"小明", "美国"=>"小华" ); $arr2=array( "英国"=>"小伟", "美国"=>"小猫" ); print_r(array_merge($arr1,$arr2));
$arr1=array( "中国"=>"小明", "美国"=>"小华" ); $arr2=array( "英国"=>"小伟", "美国"=>"小猫" ); print_r(array_merge_recursive($arr1,$arr2));
15、