数组函数
1、 Count;计算数组中的单元数目或对象中的属性个数
int count ( mixed $var
[, int $mode
= COUNT_NORMAL ] )
var
;为数组/对象,返回数组的单元个数或对象的属性个数
为null,返回0
为非数组也非null,都返回1
Mode
;设为 COUNT_RECURSIVE(或 1),
count() 将递归地对数组计数,意思是,如果var
大数组里面还有一个小数组,会把小数组里面的也计算上。
COUNT_NORMAL,默认只计算当前大数组里的单元个数
2、 array_key_exists;判断这个数组里,有没有某个键
bool array_key_exists( mixed $key
, array $search
)
key
;要查的键
search
;待查的数组
isset
和
array_key_exists的区别
(1)
isset
是根据值来判断,如果某单元的值为null,依然会返回false
(2)
isset
不是函数,是语法结构,
array_key_exists是函数,速度上,isset
省略了一次函数调用,所以速度要快一些
(3)
isset
,不限于判断数组
3、 in_array — 检查数组中是否存在某个值
bool in_array ( mixed $needle
, array $haystack
[,bool $strict
= FALSE
] )
needle;要查的值,区分大小写
haystack
;待查的数组
strict
;可选,是否完全等于(数据类型),默认false
4、 array_flip ;交换数组中的键和值,把键值对调,
array array_flip ( array $trans
)
如果一个数组里的有两个以上的值相同,转换的时候,会出现覆盖
5、 array_sum — 计算数组中所有值的和,
number array_sum ( array $array
)
6、 range — 建立一个包含指定范围单元的数组,建立一个数组,他的值是从多少到多少(比如;从1到100或从100到1)适用于值为整数的数组
array range ( mixed $start
, mixed $limit
[, number $step
= 1 ] )
start
;第一个值
limit
;最后的值
step
;可选,等差值,也就是第一个值(start)加多少就是第二个值,依此类推,直到值为最后一个(limit)。Step值必须为正数,默认是1,
7、 shuffle — 将数组随机打乱
bool shuffle ( array &$array
)
&;执行后,原数组也会改变
8、 array_unique — 移除数组中重复的值,去重
array array_unique (array $array
[, int $sort_flags
= SORT_STRING ] )
sort_flags
;去重后数组的排序,默认字符串(一般不用理他)
(1),键名没改变
(2),值重复的话,取先出现的键放在返回的数组里
9、 array_reverse — 返回一个单元顺序相反的数组
array array_reverse( array $array
[, bool $preserve_keys
= false ] )
preserve_keys
;默认false,就是在键为整数的时候,键的值不会反转,还是0.1,2,3,只转值的顺序,当为true的时候,连整数的键也会反转3.2.1.0
10、 array_push — 将一个或多个单元压入数组的末尾(入栈);就是给数组添加值
int array_push ( array &$array
, mixed $var
[, mixed $...
] )
&$array
;要添加东西的数组,注意&说明,原值会改变
Var
;要添加的数据,这个数据会在数组的后面一次添加
$...
;可添加多个
注意,这个函数基本没用,很少使,还不如用
$array[] =,直接添加
11、 sort — 对数组排序,值从小到大
bool sort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )
&$array
;待排序数组
sort_flags
;根据说明排序,查手册