PHP Array
一.交集和差集
1.交集
(1).array_intersect()函数返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成
(2).函数array_intersect_assoc()与array_intersect()基本相同,只不过他在比较中还考虑了数组的键。因此,只有在第一个数组中出现,且在所有其他输入数组中也出现的键/值对才返回到结果数组中。
(3)函数array_intersect_key()函数使用键名比较计算数组的交集
2.差集
(1).函数array_intersect_key()函数使用键名比较计算数组的交集
(2).array_intersect_assoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回一个交集数组,这个数
组只由第一个数组中出现的且在其他每个输入数组中都出现的键名和键值组成。
二.常用函数
1.is_array()函数:
is_array()函数的作用是判断一个变量是否是数组,如果是数组,则返回true,否则返回false。
2.array_unique()函数
array_unique()函数的作用是移除数组中的重复元素。
3.array_search()函数:
在数组array中搜索某个键值value,并且返回对应的键名
array_push():
向第一个参数的末尾添加一个或多个元素(入栈),然后返回新的数组长度
array_pop():
删除数组中的最后一个元素
使用格式:array_pop(array)
array_shift():
删除数组中的第一个元素,并返回被删除元素的值
使用格式:array_shift(array)
array_unshift():
像数组插入新元素,新数组的值将会被插入到数组的开头
1.array_change_key_case($arr,CASE_UPPER/CASE_LOWER)将$arr的键值转换为大写或者小写
2.array_combine($arr1, $arr2) $arr1的值作为键,$arr2作为值生成后返回新的数组
3.array_key_exists(‘key’, $arr)$arr中是否存在key,如果存在返回true,如果不存在返回false
4.array_keys($arr)以数组形式返回$arr中所有的key值
5.array_values($arr)以数组形式返回$arr中所有的values的值
6.count($arr, $mode=COUNT_NORMAL)计算数组的个数
7.array_count_values($arr)计算数组的中的值出现次数,形成新的数组,key为原数组的值,value为出现的次数
8.sort($arr,$mode)重要的排序数组函数
$mode模式为:
①SORT_REGULAR,0,默认项,常规排序,按照ASCII排序,不改变类型。
②SORT_NEMERIC,1,把每一项作为数字来处理
③SORT_STRING,2,把每一项作为字符串来处理
④SORT_LOCALE_STRING,3,把每一项作为字符串来处理,基于当前区域设置(可通过setlocale()进行更改)
⑤SORT_NATURAL,4,把每一项作为字符串来处理,使用类似natsort()的自然排序
⑥SORT_FLAG_CASE,5,可以结合(按位或)SORT_STRING或SORT_NATURAL对字符串进行排序,不区分大小写
9.ksort($arr,$sort_flags)将数组按照键名升序排列,对应的krsort()按照键名降序排列
10.asort($arr,$sort_flags)将数组按照值升序排列,asort()将数组按照值降序排列
11.shuffle()随机打乱数组中的元素会生成新的key
12.array_flip($arr)将数组的键与值进行交换,生成新的数组并返回
13.array_unique($arr)将数组的中重复的值删去,生成新的数组并返回
14.array_pop($arr)删除数组的最后一个元素,返回删除的元素的值,对应的array_push(array &$array, $var, $_ =null)在数组$array末尾插入$var的值也可以插入多个值,返回为$array新的个数.
15.array_shift($arr)删除数组的第一个元素,返回删除的元素的值,对应的array_unshift(array &$array,$var,$_= null)在数组$array开头插入$var的值也可以插入多个值,返回为$array新的个数.
16.array_sum($arr)计算数组中的所有值的和并返回,确保数组中的值都为数字
17.compact($varname, $_=null)重要连接变量返回数组的函数,key为变量名,value对应的是$varname的值.
18.extract($arr,$extract_type =null,$pre_fix=null),方便的将数组中的每个元素创建成相应的变量,变量名为key(如果设定了$pre_fix会加入前缀),value对应的是变量的值.
19.in_array($needle, array $haystack, $strict = null)查找在$haystack中是否存在与$needle值相等的元素(==)如果strict为true,则开启严格查找模式,会比较类型.
20.array_rand(array $input,$num_req=null) 在$input数组当中随机抽取$num_req个元素,返回数组由key组成(不包含value)或者是一个key.
21.array_merge($array1,$array2)将两个数组合并,规则索引下标会自动重新分配下标,关联下标会用后面的值覆盖前面的值.
22.unset($arr[‘key’])删除数组中的指定元素
23.serialize($arr)序列化数组返回字符串,unserialize($str)反序列化字符串转换成数组,目的利于数组保存到文件数据库当中去.
24.array_slice($array, $offset,$length,$preserve_keys=null)从array的$offset位置开始截取$length个元素,返回截取的数组.
25.array_splice(array &$input, $offset,$length=null,$replacement = null)将input数组的$offset位置开始截取$length个元素,$replacement插入这个位置,$input被改变,返回被替换的数组.