1.合并数组
array_combine(array1,array2) 通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。
参数 | 描述 |
---|---|
array1 | 必需。规定键名。 |
array2 | 必需。规定值。 |
array_merge(array1,array2,array3...) 把两个或多个数组合并为一个数组。
array_merge_recursive(array1,array2,array3...) 递归合并,与 array_merge() 不同的是,当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组
2.对比数组自己的差集
array_diff(array1,array2,array3...) 返回两个数组的差集数组,只是比较它的值。
array_diff_assoc(array1,array2...) 比较键名和键值,并返回两个数组的差集数组。和 array_diff() 函数 不同,本函数要求键名和键值都进行比较。返回的数组中键名保持不变。
array_diff_key(array1,array2,array3...) 比较键名,并返回两个数组的差集数组。
array_diff_uassoc(array1,array2,array3...,function) 通过用户提供的回调函数做索引检查来计算数组的差集
array_diff_ukey(array1,array2,array3...,function) 用回调函数对键名比较计算数组的差集。
3.同理,数组的交集。
array_intersect() | 计算数组的交集,只是比较他的值。 | 4 |
array_intersect_assoc() | 比较键名和键值,并返回两个数组的交集数组。 | 4 |
array_intersect_key() | 使用键名比较计算数组的交集。 | 5 |
array_intersect_uassoc() | 带索引检查计算数组的交集,用回调函数比较索引。 | 5 |
array_intersect_ukey() | 用回调函数比较键名来计算数组的交集。 |
array_udiff() | 用回调函数比较数据来计算数组的差集。 | 5 |
array_udiff_assoc() | 带索引检查计算数组的差集,用回调函数比较数据。 | 5 |
array_udiff_uassoc() | 带索引检查计算数组的差集,用回调函数比较数据和索引。 | 5 |
array_uintersect() | 计算数组的交集,用回调函数比较数据。 | 5 |
array_uintersect_assoc() | 带索引检查计算数组的交集,用回调函数比较数据。 | 5 |
array_uintersect_uassoc() | 带索引检查计算数组的交集,用回调函数比较数据和索引。 |
4.填充数组
array_fill(start,number,value) 用给定的值填充数组,返回的数组有 number 个元素,值为 value。返回的数组使用数字索引,从 start 位置开始并递增。如果 number 为 0 或小于 0,就会出错。
eg.
<?php
$a=array_fill(2,3,"Dog");
print_r($a);
?>输出:
Array ( [2] => Dog [3] => Dog [4] => Dog )
array_pad(array,size,value) 向一个数组插入带有指定值的指定数量的元素。设置了负的长度值,该函数会在原始数组之前插入新的元素.
注释:如果 size 参数小于原始数组的长度,该函数不会删除任何元素。
eg.
<?php
$a=array("Dog","Cat");
print_r(array_pad($a,5,0));
?>输出:
Array ( [0] => Dog [1] => Cat [2] => 0 [3] => 0 [4] => 0 )
5.回调函数处理数组
过滤函数array_filter(array,function) 用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中,
并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。
回调函数array_map(function,array1,array2,array3...) 返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
6.统计
array_count_values(array) 用于统计数组中所有值出现的次数。
count(array,mode) 计算数组中的单元数目或对象中的属性个数。
参数 | 描述 |
---|---|
array | 必需。规定要计数的数组或对象。 |
mode | 可选。规定函数的模式。可能的值:
注释:该参数是 PHP 4.2 中加入的。 |
7.排序
arsort() | 对数组进行逆向排序并保持索引关系。 | 3 |
asort() | 对数组进行排序并保持索引关系。 |
krsort() | 对数组按照键名逆向排序。 | 3 |
ksort() | 对数组按照键名排序。 |
sort(array,sorttype) 按升序对给定数组的值排序。
注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。
还有其他经常用到的重要函数
1.compact(var1,var2...) 创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。
本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值。本函数执行的行为与 extract() 正好相反
2.array_slice(array,offset,length,preserve) 在数组中根据条件取出一段值,并返回。
array_splice(array,offset,length,array)与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代
3....