array:新建一个数组。如果不指定键名,则使用数字索引。如果相同的键名出现两次则后面的值覆盖之前的值,如果明确指定了之前没有出现过的数字索引的值,那么后面的数字索引在此基础上生成。
compact:建立一个包括变量名和它们的值的数组,与extract正好相反。
array_combine:创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值。如果两个数组长度不一致则会产生警告并返回false。如果都为空数组则返回一个空数组。
array_merge:合并一个或多个数组。如果后面的数组与前面的数组有相同的键,则后面的值覆盖之前的值,如果存在相同的数字索引则不会覆盖而是追加到后面,合并后的数字索引会被重新索引为连续的数字。
array_merge_recursive:递归地合并一个或多个数组,如果后面的数组与前面的数组有相同的键,则会将这个键的多个值合并到一个数组中去,如果其中一个值本身就是数组,则将另一个值追加到这个数组中,如果存在相同的数字索引则不会覆盖而是追加到后面,合并后的数字索引会被重新索引为连续的数字。
range:根据范围创建数组,包含指定的元素。接受三个参数,第一个为起始值,第二个为结束值,第三个为可选的步长,作为数组单元的步进值,步长应为正数,默认为1。起始值和结束值只能为单个字符,如果长度大于1,则使用第一个字符。如果步长为负数,则使用其绝对值做为步长。
array_chunk:将一个数组分割成多个,接受三个参数,第一个为要分割的数组,第二个为每个数组的大小,分割后的最后一个数组长度可能小于此值。如果参数小于1,则会产生一个警告,并返回null。第三个为可选的参数,表示是否保留数组单元在原数组中的键名。默认为false,不保留键名,每个新的数组将使用从零开始计算的数字索引。返回结果是一个多维数组。
<?php
$ar1=array("a","a",1=>"b",3=>"d","e","f"=>"f");
$ar2=array("a","B",3=>"d","e","f"=>"F");
$var1="value1";
$var2="value2";
$var3="value3";
$var4="value4";
$varname="var2";
var_dump($ar1);
var_dump(compact("var1",$varname,"var6",array("var4","var3")));
var_dump(array_combine(array("a","b","c"),array(1,2,3)));
var_dump(array_combine(array("a","b","c"),array(1,2,3)));
var_dump(array_merge($ar1,$ar2));
var_dump(array_merge_recursive($ar1,$ar2));
var_dump(range(1,10,2));
var_dump(range(1,10,-2));
var_dump(range('a','e'));
var_dump(array_chunk(range('a','e'),2));
var_dump(array_chunk(range('a','e'),2,true));
?>