1、array_change_key_case 返回字符串全为小写或大写的数组
例如:
$input_array = array('FirSt'=>1,'SecOnd'=>4);
array_change_key_case($input_array,CASE_UPPER);
输入:
array([FIRST] =>1,[SECOND]=>4)
2、array_chunk 将一个数组分割成多个
例如:
$input_array = array('a','b','c','d','e')
1)array_chunk($input_array,2); //拆分成只有2个元素的数组
输出:
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
2)array_chunk($input_array,2,true)
说明:设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了
FALSE,那每个结果数组将用从零开始的新数字索引。默认值是
FALSE。输出:Array(
[0] => Array(
[0] => a
[1] => b
)
[1] => Array (
[2] => c
[3] => d
)
[2] => Array(
[4] => e
)
)3、array_column 返回数组中指顶的一列语法:array_column($input,$mixed $column_key[,$mixed $index_key])array_column()返回input中键值我column_key的列。如果置顶了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。$records = array(array('id'=>2135,'first'=>'john','last_name'=>'doe'),array('id'=>3245,'first_name'=>'Sally','last_name'=>'Smith'),
array('id'=>5342,'first_name'=>'Jane','last_name'=>'Jones'),
array('id'=>5623,'first_name'=>'Peter','last_name'=>'Doe',)
);例1:$first_names = array_column($records,'first_name');输出:Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)例2:$last_names = array_column($records,'last_name','id');说明:从数组里取出last_names列,用相应的id作为键值。$last_names = array_column($records,'last_name','id')Array([2135] => Doe[3245] => Smith[5342] => Jones[5623] => Doe)4、array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值。语法:array_combine($keys,$values)例如:$a = array('green','red','yellow')$b = array('avocado','apple','banana')$c = array_combine($a,$b)输出:array([green]=>avocado,[red]=>apple,[yellow]=>banana)5、统计数组中所有的值出现的次数语法:array_count_values($input)$array = array(1,'hellow',1,'world','hello')array_count_values($array)输出:array([1]=>2,[hello]=>2,[world]=>1)6、array_diff 计算数组的差集$array1 = array('a'=>'green','red','blue','red')$array2 = array('b'=>'green','yellow','red')$result = array_diff($array1,$array2) //$array1 被对比的数组输出:array([1]=>blue)7、array_fill 用指顶的值填充数组$a = array_fill(5,6,'banana') // 从下表5 开始 长度为6 充当值我banana输出:array([5]=> banana[6]=> banana[7]=> banana[8]=> banana[9]=> banana[10]=> banana)
8、array_fill_keys 使用指顶的键和值填充数组
例如:
$keys = array('foo',5,10,'bar')
$a = array_fill_keys($keys,'banana')
输出:
array([foo]=>banana,[5]=>banana,[10]=>banana,[bar]=>banana)
9、array_filter 用回调函数过滤数组中的单元
array_filter($input,$callback)
说明:input 要循环的数组 callback 使用回调函数
例如:
function odd($val){
return $var;
}
$array1 = {};
array_filter($array1,'odd') //循环数组$array1,回调函数odd
10、array_flip 交换数组中的键和值 filter 无理的
说明:如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了
$trans= array("a"=>1,"b"=>1,"c"=>2);
$trabs = array_flip($trans);
Array
(
[1] => b
[2] => c
)
11、array_keys 返回数组中部分或所有的键名
12、array_merge 合并一个或多个数组 (重复会覆盖)
13、array_merge_recursive 递归地合并一个或多个数组
$ar1= array("color"=> array("favorite"=>"red"),5);$ar2= array(10,"color"=> array("favorite"=>"green","blue"));$result=array_merge_recursive($ar1,$ar2);
输出:
Array
(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10
)
14、array_multisort 对多个数组或多维数组进行排序
15、array_pad用值将数组填补到指定长度
说明:array_pad ( array $input , int $pad_size , $pad_value )
input:需要被填充的原始数组
pad_size:新数组的长度。
pad_value:将被填充的值,只有在 input 的现有长度小于 pad_size 的长度时才有效。
例如:
$input= array(12,10,9);$result=array_pad($input,5,0);// result is array(12, 10, 9, 0, 0)$result=array_pad($input, -7, -1);// result is array(-1, -1, -1, -1, 12, 10, 9)
16、array_pop 将数组最后一个单元弹出(出栈)$stack= array("orange","banana","apple","raspberry");$fruit=array_pop($stack);
Array
(
[0] => orange
[1] => banana
[2] => apple
)
17、array_product 计算数组中所有值的乘积$a= array(2,4,6,8);
echo"product(a) = ".array_product($a) ."\n";
echo"product(array()) = ".array_product(array()) ."\n";
输出: product(a) = 384 product(array()) = 1
18、array_push 将一个或多个单元压入数组的末尾(入栈)$stack= array("orange","banana");array_push($stack,"apple","raspberry");
Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)
19、 array_rand 从数组中随机取出一个或多个单元$input= array("Neo","Morpheus","Trinity","Cypher","Tank");$rand_keys=array_rand($input,2);
echo$input[$rand_keys[0]] ."\n";
echo$input[$rand_keys[1]] ."\n";
20、array_reduce用回调函数迭代地将数组简化为单一的值
array_reduce ( array $input , $function [, $initial=
NULL ] )
$input 数组的数组 $function 回调行数 $initial 初始值 作为第一个值来处理functionrsum($v,$w){$v+=$w;
return$v;
}
functionrmul($v,$w){$v*=$w;
return$v;
}$a= array(1,2,3,4,5);$x= array();$b=array_reduce($a,"rsum"); //调用函数rsum。$c=array_reduce($a,"rmul",10); // 10 * 1* 2*3*4*5
//10作为第一个值来处理$d=array_reduce($x,"rsum","No data to reduce");
21、array_replace 使用传递的数组替换第一个数组的元素