注册 登录

清河洛

PHP中数组的常用处理函数

qingheluo2016-12-16清河洛305
处理数组的常用函数string implode([$glue,]$array);或者join([$glue,]$array):用$glue将一维数组的值连接为一个字符串。$glue默认为空的字符串。array_search ($needle,$array):在数组$array中搜索给定的$needle值,如果成功则返回相应的键名array_slice( array $array,int $offset[,int $length=NULL[,bool $preserve_keys=false]]);从数组中取出从offset偏移量(为负由后向前)一共length个元素(默认到数组末,为负则...

处理数组的常用函数

string implode([$glue,]$array);或者join([$glue,]$array):用$glue将一维数组的值连接为一个字符串。$glue默认为空的字符串。

array_search ($needle,$array):在数组$array中搜索给定的$needle值,如果成功则返回相应的键名

array_slice( array $array,int $offset[,int $length=NULL[,bool $preserve_keys=false]]);

从数组中取出从offset偏移量(为负由后向前)一共length个元素(默认到数组末,为负则取到数组的倒数第length个元素)的一段序列
preserve_keys为是否保留索引

array_values ($array):返回$array数组中所有的值并给其建立数字索引(把关联数组转换为索引数组)

array_keys(array $array[,mixed $search_value[,bool $strict=false]])

返回数组中的数字或者字符串的键名组成的数组
search_value:如果指定了这个参数,只有包含这些值的键才会返回
strict:判断在搜索的时候是否该使用严格的比较(===)

list ($var1,$var2,...])=$array:用一步操作给一组变量进行赋值

in_array($needle,$array [, bool $strict = FALSE ])

检查数组中是否存在某个值
如果第三个参数 strict 的值为TRUE则还会检查类型是否相同

array_key_exists ( mixed $key , array $search )

检查给定的键名或索引是否存在于数组中
也可用于对象

count($array):计算数组中的元素数量

array_unique ( array $array):返回没有重复值的键名保留不变的新数组(数组去重复)

array_count_values($input)

返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值
主要用于统计数组中所有的值出现的次数

array_combine ( array $keys , array $values )

合并两个数组的值并返回一个数组
返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值

array_merge ( array $array1 [, array $... ] )

合并多个数组并返回一个数组
将多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值
如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面
如果只给了一个数组并且该数组是数字索引则键名会以连续方式重新索引

array_intersect ( array $array1 , array $array2 [, array $ ... ] )

返回两个或多个数组的交集组成的数组
返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。键名保留不变

array_diff ( array $array1 , array $array2 [, array $... ] )

返回两个或多个数组的差集。
返回在array1中但是不在其他任何其它数组中的值组成的一个数组

array_push ( array &$array , mixed $var [, mixed $... ] ):

将 array 当成一个栈,并将传入的变量压入 array 的末尾

array_pop ( array &$array )

将 array 当成一个栈,移除array中的最后一个元素

array_splice ( array &$input , int $offset [, int $length = 0] )

把 input 数组中由偏移量为$offset的位置(为负则从末尾倒数)删除掉$length个元素(不指定删除到数组末尾)
input 中的数字键名不被保留(数组的索引会重排)

unset($arr[1]) 删除$arr数组中的元素,其他元素的索引值不变

array_map ( callable $callback , array $arr1 [, array $... ] )

返回一个数组,该数组包含了 arr1 中的所有单元经过 callback(为函数名) 作用过之后的元素
callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致

sort($arr) - 以升序对数组排序(返回索引数组,关联数组的键会忽略)

rsort($arr) - 以降序对数组排序

asort($arr) - 根据值,以升序对关联数组进行排序

ksort($arr) - 根据键,以升序对关联数组进行排序

arsort($arr) - 根据值,以降序对关联数组进行排序

krsort($arr) - 根据键,以降序对关联数组进行排序

shuffle($arr) - 打乱(随机排列)一个数组的顺序

array_rand(array $input[,int $num_req=1])

从数组中随机取出指定数量的键值
如果$num_req为默认值1,返回一个随机键名
如果$num_req大于1,则返回键名组成的数组。

each ( array &$array )返回数组中当前的键/值对并将数组指针向前移动一步

current ( array &$array )返回数组中的当前指针位置的值

key( array &$array )返回数组中当前指针位置的键名

next ( array &$array )将数组的内部指针前移一位并返回此时指针位置的值

prev ( array &$array )将数组的内部指针倒回一位并返回此时指针位置的值

reset ( array &$array )将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值

end ( array &$array ) 将 array 的内部指针移动到最后一个单元并返回其值。



网址导航