1、list()
list() 和 array() 一样,不是一个函数,而是一个语言结构,作用是为一组变量赋值。
2、each()
3、数组指针操作
current(); //读取指针位置的内容
key(); //读取当前指针指向内容的索引值
next(); //将数组中的内部指针指向下一单元
prev(); //将数组内部指针倒回一位
end(); //将数组内部指针指向最后一个元素
reset(); //将目前指针指向第一个索引位置*/
4、键值操作函数
array_values($arr) - 获得数组的值
array_keys($arr[,$search[,$strict]]) - 获得数组的键名
array_flip($arr) - 数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
array_search($goal,$arr[,$strict]) - 检索给定的值,加true则是严格类型检查
array_reverse($arr[,$preserve_keys]) - 将数组中的元素翻转(前后顺序)
in_array($goal,$arr[,$strict]) - 判断值是否在数组中
array_key_exists($key,$arr) - 检索给定的键名是否存在数组中
array_count_values($arr) - 统计数组中所有值出现的次数
array_unique($arr[,$sort_flags]) - 删除数组中重复的值
5、回调函数
array_filter($arr[,$callback[,$flag]]) //使用回调函数过滤数组中的元素,如果回调返回true则当前的元素被包含到返回数组中
array_walk($arr,$callback[,$userdata]) //回调函数处理数组,自定义函数要有两个参数,本函数第三个参数可以作为回调第三个参数返回
array_map($callback,$arr1[,$arr....]) //可以处理多个数组,每个数组的长度应该相同,传入数组的个数和回调函数参数个数应该一致
6、数组分割
array_slice($arr,$offset[,$length[,preserve_keys]]) //将数组中的一段取出(数组的分段)
array_splice($arr,$offset[,$length[,$replacement]]) //将数组中的一段取出,返回的序列从原数组中删除
array_chunk($arr,$size[,$preserve_keys]) //将一个数组分割成多个
7、数组运算
array_sum($arr) 元素求和
array_merge($arr1[,$arr...]) 数组合并
array_diff($arr1,$arr2[,$arr....]) 数组求差集 - 在arr1中但不在其他数组中的值
array_intersect($arr1,$arr2[,$arr...]) 数组求并集 - 在arr1中且在其他数组中的值
8、数组的栈和队列操作
array_push($arr,$value[,$...]) - 将一个或多个单元压入数组的末尾(入栈)
array_pop($arr) - 弹出数组最后一个单元(出栈)
array_shift($arr) - 将数组开头的单元移出数组
array_unshift($arr,$value[,$...]) - 在数组开头插入一个或多个单元
9、数组的排序操作
sort($arr[,$sort_flag]) - 从小到大,忽略键名
rsort($arr[,$sort_flag]) - 从大到小,忽略键名
asort($arr[,$sort_flag]) - 从小到大,保留键名
arsort($arr[,$sort_flag]) - 从大到小,保留键名
ksort($arr[,$sort_flag]) - 按键名正序排列
krsort($arr[,$sort_flag]) - 按键名倒序排列
10、其他常用函数
shuffle($arr) - 打乱数组
数组和变量之间的转换
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值
注:(第二个参数很重要,可以看手册使用)使用方法 echo $a;
compact(var1,var2,var3);用给定的变量名创建一个数组
array_rand($arr,2);从数组中随机取出一个或 多个元素
key — 从关联数组中取得键名
in_array — 检查数组中是否存在某个值
count — 计算数组中的单元数目或对象中的属性个数
array_count_values — 统计数组中所有的值出现的次数
range(0,12);创建一个包含指定范围单元的数组
array_reverse($arr,TRUE);返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名