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 , mixed $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 , callable $function [, mixed $initial =
NULL ] ) $input 数组的数组 $function 回调行数 $initial 初始值 作为第一个值来处理 function rsum($v, $w){ $v += $w; return $v; }
function rmul($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 使用传递的数组替换第一个数组的元素
|