处理数组的常用函数
1、string implode([$glue,]$array);或者join([$glue,]$array):用$glue将一维数组的值连接为一个字符串。$glue默认为空的字符串。
2、array_search ($needle,$array):在数组$array中搜索给定的$needle值,如果成功则返回相应的键名
3、array_slice( array $array,int $offset[,int $length=NULL[,bool $preserve_keys=false]]);
从数组中取出从offset偏移量(为负由后向前)一共length个元素(默认到数组末,为负则取到数组的倒数第length个元素)的一段序列。preserve_keys为是否保留数字索引
4、array_values ($array):返回$array数组中所有的值并给其建立数字索引(把关联数组转换为索引数组)
array_keys(array $array[,mixed $search_value[,bool $strict=false]]):返回数组中的数字或者字符串的键名组成的数组,search_value:如果指定了这个参数,只有包含这些值的键才会返回。strict:判断在搜索的时候是否该使用严格的比较(===)
5、list ($var1,$var2,...])=$array:用一步操作给一组变量进行赋值
6、in_array($needle,$array [, bool $strict = FALSE ]):检查数组中是否存在某个值,如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。
array_key_exists ( mixed $key , array $search ):检查给定的键名或索引是否存在于数组中。也可用于对象。
7、count($array):计算数组中的数据数量个数
8、array_unique ( array $array):返回没有重复值的键名保留不变的新数组(数组去重复)。
9、array_count_values($input):返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。 统计数组中所有的值出现的次数
10、array_combine ( array $keys , array $values ):合并两个数组的值并返回一个数组。
返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。
array_merge ( array $array1 [, array $... ] ) :合并两个数组并返回一个数组。
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
11、array_intersect ( array $array1 , array $array2 [, array $ ... ] ):返回两个或多个数组的交集组成的数组。
返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。键名保留不变。
array_diff ( array $array1 , array $array2 [, array $... ] ):返回两个或多个数组的差集。
对比返回在 array1 中但是不在 array2 及任何其它数组中的值组成的一个数组。
12、数组的栈结构:
array_push ( array &$array , mixed $var [, mixed $... ] ):
将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。
array_pop ( array &$array ):将数组array中的最后一个单元,并将数组 array 的长度减一。
13、删除数组中的元素:
array_splice ( array &$input , int $offset [, int $length = 0] )
把 input 数组中由偏移量为$offset的位置(为负则从末尾倒数该值的偏移量开始移除)删除掉指定的$offset个单元单元(不指定删除到数组末尾), input 中的数字键名不被保留(数组的索引会重排)。
unset($arr[1]) 删除$arr数组中的改元素,其他元素的索引值不变。
14、array_map ( callable $callback , array $arr1 [, array $... ] )
返回一个数组,该数组包含了 arr1 中的所有单元经过 callback(为函数名) 作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
15、数组的排序
sort($arr) - 以升序对数组排序(返回索引数组,关联数组的键会忽略)
rsort($arr) - 以降序对数组排序
asort($arr) - 根据值,以升序对关联数组进行排序
ksort($arr) - 根据键,以升序对关联数组进行排序
arsort($arr) - 根据值,以降序对关联数组进行排序
krsort($arr) - 根据键,以降序对关联数组进行排序
shuffle($arr) - 打乱(随机排列)一个数组的顺序
16、随机获取数据的键值
array_rand(array $input[,int $num_req=1])
从数组中随机取出指定数量的键值。如果$num_req为默认值1,返回一个随机键名,如果$num_req大于1,则返回键名组成的数组。
17、数组的操作
each ( array &$array )返回数组中当前的键/值对并将数组指针向前移动一步
current ( array &$array )返回数组中的当前指针位置的值
key( array &$array )返回数组中当前指针位置的键名。
next ( array &$array )将数组的内部指针前移一位并返回此时指针位置的值。
prev ( array &$array )将数组的内部指针倒回一位并返回此时指针位置的值。
reset ( array &$array )将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值。
end ( array &$array ) 将 array 的内部指针移动到最后一个单元并返回其值。
最后编辑:2020-06-17作者:qingheluo
这个作者貌似有点懒,什么都没有留下。