1、array_chunk() 将一个数组分割成多个。ps:第一个参数是需要分割的数组;函数的第二个参数是决定每组元素的个数;第三个可选参数则是布尔值,用来结果数组是否使用原有数组的键名,设置false则是从零开始的索引数组。
2、array_combine() 通过合并两个大小相同的数组来创建一个新的数组(返回一个新数组),其中一个数组的值作为新数组的键名,另外一个数组的值作为新数组的值。ps:如果其中一个数组为空,或者大小不相同,返回false。
3、array_count_values() 统计一个数组 值出现的次数。返回一个以原数组值为键名,原数组值出现的次数作为为值的新数组。
4、array_diff() 通过值进行对比,计算数组的差集。第一个参数为要对比的数组,第二个参数为对比数组,接下来是可选的对比数组。返回一个值在对比数组存在,在其它参数数组中不存在的新数组。
5、array_diff_assoc() 键名和值都要进行对比,计算数组的差集(索引检查计算数组差集)。和array_diff函数唯一不同的就是,是键名和值都要行对比。返回一个键名和值在要对比数组存在,在其它参数数组中不存在的新数组。
6、array_diff_key() 从函数名称就可以看出,是通过键名进行对比,计算数组的差集。返回一个键名在要对比数组存在,在其它参数数组中不存在的新数组。
7、array_diff_uassoc() 通过一个回调函数来进行对比,计算数组的差集(索引检查计算数组差集)。 此函数与array_diff_assoc()函数唯一不同的就是多了一个必须参数(最后一个参数),是一个回调函数的名称。回调函数必须有两参数,即两个要进行对比的键名。例如:
function key_compare_func($a, $b)
{
// 在我的设定当中,正常的比较b不等于e,但是有需求提出b等于e
if(($a === 'b' && $b === 'e') || ($a === 'e' && $b === 'b')) {
return 0;
}
if ($a === $b) {
echo '1'.$a.$b.' ';
return 0;
}
echo '2'.$a.$b." ";
return ($a > $b)? 1: -1;
}
$array2 = array("a" => "green", "b"=>"yellow", "c"=>"yellow");
$array3 = array("d" => "green", "e"=>"yellow", "f"=>"yellow");
$result = array_diff_uassoc($array2, $array3, "key_compare_func");
echo "<br />";
print_r($result);
exit();
8、array_diff_ukey() 用回调函数对键名比较,计算数组的差集。跟array_diff()不同的是对键名进行比较,回调函数用法也是对比参数,第一个小于第二个参数,等于第二个参数,大于第二个参数分别返回-1,0,1。
9、array_fill() 用指定的值填充数组。第一个参数作为起始,第二个参数表示填充的元素个数,第三个是指定填充的值。
10、array_filter() 使用回调函数过滤数组的单元(用户不应在回调函数中修改数组本身。例如增加/删除单元或者对 array_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为将不可预测。)。如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。如果没有使用回调函数,则会把等值为false的单元过滤。
11、array_flip() 返回一个反转后的数组(交换键名和值),失败则返回NULL。如果相同的值出现多次,则最后一个值将作为反转后数组的键名,其它相同值的单元都将丢失。原数组的值类型不是字符串和整形,都将会发出一个警告,并且有问题的键/值对都不会被反转。
12、array_intersect() 通过值进行对比,计算数组的交集。返回一个在值需对比数组中存在,同时也在对比数组中存在(交集)的新数组,键名不变。
13、array_intersect_assoc() 键名和值都要进行对比,计算数组的交集。跟array_diff_assoc()类似,不同的是计算交集,array_diff_assoc()则计算差集
14、array_intersect_key() 通过键名进行对比,计算数组的交集。返回一个键名在需对比数组中存在,同时也在对比数组中存在(交集)的新数组。
15、array_intersect_uassoc()通过一个回调函数来进行对比,计算数组的交集(索引检查计算数组差集)。
与array_diff_uassoc()类似,不同的是计算交集,array_diff_uassoc则是计算差集。
16、array_intersect_ukey() 用回调函数对键名比较,计算数组的交集。跟array_intersect()不同的是对键名进行比较。回调函数用法也是对比参数,第一个小于第二个参数,等于第二个参数,大于第二个参数分别返回-1,0,1。
17、array_key_exists() 检查给定的键名或索引是否存在数组中。存在返回true,否则返回false。第一个参数是指定的键名,第二个参数是需要检查的数组。
18、array_keys() 返回数组的所有键名。第二个参数是指定值,返回键名,为可选参数。第三个参数设置为true,则要===第二参数的类型,返回键名,默认为false。
19、array_map() 将回调函数作用于数组的每一个单元上,返回一个回调函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。ps:使用多个数组的时候,最好数组的大小都相同,否则最小的将被用空的单元扩充。如果使用NULL作为回调函数,则会构建一个新数组。例如:
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
未完待续……