//数组
array(..)
list(...)
range($low,$high,$step)
array_combine($key_arr,$value_arr)
//key+value
array_merge($arr1,$arr2..)
//合并数组 相同索引追加 相同键名覆盖
array_merge_recursive($arr1,$arr2..)
//递归地合并数组 不覆盖
compact("varname"...)
//用变量的值构成数组
extract($arr) //把数组还原成多个变量
array_chunk($arr,$size,false|true)
//分割数组 不保留key|保留key
array_count_values($arr)
//统计每个元素出现的次数
array_fill($start,$size,$value)
//填充数组
array_pad($arr,$size,$value)
//填补数组至指定长度
shuffle($arr) //打乱数组
array_reverse($arr) //翻转数组
array_flip($arr) //交换数组的键和值
array_rand($arr,size)
//从数组中随机抽取size个元素
array_slice($arr,$offset,$length)
//取数组中的一段元素
array_splice($arr,$offset,$length,$replace)
//替换/删除数组中的一段元素
array_unique($arr) //移除数组中重复的值
count($arr) //元素的个数==sizeof($arr)?
array_product($arr) //数组的积
array_sum($arr) //数组的和
-------------------------------------------------------------------------------
//差集和交集
array_diff($arr1,$arr2..)
//数组差集
array_udiff($arr1,$arr2..)
//用回调函数比较数据来计算数组的差集。
array_diff_assoc($arr1,$arr2..)
//使用索引得到差集
array_udiff_assoc($arr1,$arr2..)
//带索引检查计算数组的差集,用回调函数比较数据。
array_diff_uassoc($arr1,$arr2..,"fun_name")
//用回调函数对索引得到差集
array_udiff_uassoc($arr1,$arr2..,"fun_name")
//带索引检查计算数组的差集,用回调函数比较数据和索引。
array_diff_key($arr1,$arr2..)
//使用键名得到差集
array_diff_ukey($arr1,$arr2,"fun_name")
//用回调函数对键名得到差集
array_intersect($arr1,$arr2..)
//计算数组的交集。
array_uintersect($arr1,$arr2..)
//计算数组的交集,用回调函数比较数据。
array_intersect_assoc($arr1,$arr2..)
//比较键名和键值,并返回两个数组的交集数组。
array_uintersect_assoc($arr1,$arr2..)
//带索引检查计算数组的交集,用回调函数比较数据。
array_intersect_uassoc($arr1,$arr2..,"fun_name")//带索引检查计算数组的交集,用回调函数比较索引。
array_uintersect_uassoc($arr1,$arr2..,"fun_name")//带索引检查计算数组的交集,用回调函数比较数据和索引
array_intersect_key($arr1,$arr2..)
//使用键名比较计算数组的交集。
array_intersect_ukey($arr1,$arr2..,"fun_name")
//用回调函数比较键名来计算数组的交集。
-------------------------------------------------------------------------------
//元素进入/移出
array_push($arr,ele..)
array_pop($arr)
array_unshift($arr,ele..)
array_shift($arr)
-------------------------------------------------------------------------------
//自定义函数
array_reduce($arr,"fun_name")
//递归对数组中的每个元素运算得到一个值 如和,积等
array_filter($arr,"fun_name")
//使用回调函数过滤数组
array_map("fun_name",$arr)
//对每个元素调用函数
array_walk($arr,‘fun_name‘)
//对每个成员使用用户函数
array_walk_recursive($arr,‘fun_name‘)
//对每个成员递归使用用户函数
-------------------------------------------------------------------------------
//指针
current($arr) //当前值==pos($arr)?
next($arr) //指针后移
prev($arr) //指针前移
end($arr) //指针移到最后
reset($arr) //指针移到第一个
each($arr) //返回当前key-value 指针后移
-------------------------------------------------------------------------------
//键和值
array_key_exists($key,$arr)
//键名是否存在
in_array($value,$arr)
//值是否存在
array_search($value,$arr)
//返回元素的键名
key($arr) //当前值的键名
array_change_key_case($arr,CASE_LOWER|CASE_UPPER)
//把键名变成小/大写
array_keys($arr) //键名数组
array_values($arr) //值数组
-------------------------------------------------------------------------------
//排序
array_multisort($arr1,$arr2..)
//对多个数组或多维数组排序
(SORT_ASC SORT_DESC SORT_REGULAR SORT_NUMERIC SORT_STRING)
sort($arr) //数组排序
rsort($arr) //数组逆向排序
natsort($arr) //自然排序
natcasesort($arr) //数组不区分大小写自然排序
asort($arr) //值排序
arsort($arr) //值逆向排序
ksort($arr) //键排序
krsort($arr) //键逆向排序
usort($arr) //自定义数组排序
uasort($arr) //自定义值排序
uksort($arr) //自定义键排序
-------------------------------------------------------------------------------
PHP 数组函数,古老的榕树,5-wow.com