常用PHP数组函数总结
1、array_values() 以索引数组的形式返回数组的中所有元素的值
array_keys() 以索引数组的形式返回数组的中所有元素的值
2、in_array() 检查数组中是否存在某值;两个必选参数,第一个值是要搜索的值,第二个是数组
array_key_exists() 检查指定的键名是都在数组中;
3、array_flip() 交换数组中的键和值
4、array_reverse() 将原数组的元素顺序翻转,返回新的数组
5、count() 统计数组元素的个数,第二个参数为可选参数,规定是否递归的计算多维数组的元素个数,默认为0,为1则检测多维数组。
<?php
$stu=array
(
"name"=>"小明",
"class"=>302,
"sex"=>"男",
"age"=>20,
"成绩"=>array("语文"=>90,
"数学"=>99,
"英语"=>88,
)
);
print_r(count($stu,1)); //输出8
6、array_count_values() 统计数组中所有值出现的次数
7、array_unique() 删除数组中重复的值,当数组中几个元素的值相等时,只保留第一次元素
8、排序函数
sort() 由小到大的升序对给定数组的值排序
rsort() 由大到小的降序对给定数组的值排序
asort() 由小到大的升序排序并保持索引关系
arsort() 由大到小的降序排序并保持索引关系
ksort() 由小到大的升序对给定数组的键排序,并保留原来的键
krsort() 由大到小的降序对给定数组的键排序,并保留原来的键
9、array_slice() 在数组中根据条件取出一段值并返回,第一个参数是数组,第二个是起始位置,第三个是可选参数,返回的数组长度,为空的话返回起始位之后所有的数组,第四个可选参数是是否保留键名,如果是true,则保留,默认是false
$yo=array(5,6,8,4,2,9,2,11);
print_r(array_slice($yo,1,2)); //返回Array ( [0] => 6 [1] => 8 )
10、array_combine() 合并数组创建新的数组,其中一个数组是键名,另一个是键值,所传数组必须必须有相同的元素
$yo=array(5,6,8,4);
$wo=array('www','ali','.','com');
print_r(array_combine($yo,$wo)); //返回Array ( [5] => www [6] => ali [8] => . [4] => com )
array_merge() 合并数组,求并集
$yo=array(5,6,8,4);
$wo=array('www','ali','.','com');
print_r(array_merge($yo,$wo)); //返回Array ( [0] => 5 [1] => 6 [2] => 8 [3] => 4 [4] => www [5] => ali [6] => . [7] => com )
array_intersect() 计算数组的交集
array_diff() 返回第一个数组存在、但第二个数组不存在的元素
11、array_pop() 删除数组最后一个元素
array_shift() 删除数组第一个元素
unset() 删除数组指定元素,不会重建索引
$a=array(2,4,6,9,3);
unset($a[3]);
print_r($a); //Array ( [0] => 2 [1] => 4 [2] => 6 [4] => 3 )
12、array_rand() 随机返回一个或多个元素,第二个参数可选,指明用户想取多少元素,默认返回一个元素
shuffle() 将数组中的元素按随机顺序随机排列
array_sum() 返回数组中所有值的总和
$yo=array(5,6,8,4);
print_r(array_sum($yo)); //23
13、range() 创建并返回一个包含指定范围的元素的数组,第一个参数是最小值,第二个是最大值,第三个可选参数为步长
print_r(range(1,10)); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
print_r(range(1,100,20)); //Array ( [0] => 1 [1] => 21 [2] => 41 [3] => 61 [4] => 81 )
14、array_unshift($a,$b) 用于向数组a插入新元素b。新数组的值将被插入到数组的开头。
15、array_filter 删除数组中的空值
16、implode(',',$arr); 将数组的值转为字符串以','拼接