[]或$arr = array($key=>$value);
//处理数组元素
//生成0-5的数组
$res = range(0,5)
$res = sizeof($arr) = count($arr)//数组长度
$res = pos($arr) = current($arr)//获取当前指针的元素
$res = key($arr)//获取当前指针的key
$res = prev($arr)//指针上移并获取元素
$res = next($arr)//获指针下移的元素
$res = reset($arr)//针指向第一个并获取元素//
$res = end($arr)//针指向最后一个并获取元素//
$item = array_unshift($arr,"Horse","Horse2");//重头插入元素,字符串key不变,数字key重新排序,返回插入后的数组个数
array_push($arr2,"111","222");//尾部追加
$item = array_shift($arr2);//取出第一个,会删掉
$item = array_pop($arr);//取出最后一个,会删掉
$item = array_rand($arr2,2);//随机取出2个数,一个的话返回值不是数组
$item = array_product($arr2);//计算所有value的成绩,有字母结果为0
$item = array_sum($arr2);//计算所有value的成绩,忽略字母
//判断
bool in_array("23",$arr, TRUE)= array_search('aaa',$arr,TRUE);//判断23是否在$arr中,true代表类型也要一致
bool array_key_exists("a",$a)//判断key是否存在
//遍历
foreach ($arr as $str)
while (list($key, $val) = each($arr))
{
echo "$key => $val
";
}
//单数组操作
//修改索引值的排序
shuffle($arr)//随机排序,索引会变成数组
//不修改索引的排序
natsort($arr);//自然算法排序,数字、大写、小写
natcasesort($arr);//自然算法排序,不区分大小写
$item = array_unique($arr);//忽略后面重复的value,返回新的数组
$item = array_pad($arr,10,0);//将数组补全到10位,全部补0,生成新数组,负数表示在前面插入
$item = array_reverse($arr2,false);//返回新的反转数组,true表示保留数字key,字符串key不会变
$item = array_change_key_case($arr2,CASE_UPPER/CASE_LOWER );//返回key全为大写或小写的数组,key重复后会去掉后面的
$item = array_flip($arr);//返回key-value反转的数组
$item = array_keys($a);//返回所有key组成的新数组
$item = array_values($arr);//去掉key换成数字key
//多数组操作
array_multisort($arr,$arr2,SORT_ASC /SORT_DESC);多个数组排序,大写、小写、数字
$item = array_chunk($arr2,2,true);//以2位单位拆分成二维数组并返回新数组,true表示保留原key
$item = array_intersect($a1,$a2);//返回多个数组的交集,可以是多个数组
$item = array_merge($a1,$a2);//返回合并的新数组,
$item = array_slice($a,1,2);//从第2个袁术开始截取2个元素返回新数组
$item = array_combine($arr,$arr2);//arr的value位key,arr2的value为value生成新数组,长度必须一致