array_push() 向数组末尾追加元素(入栈)。操作原数组,返回操作后的数组长度。也可以使用 $arr[] = 值 的形式追加,并且此方式效率更高。
array_pop() 删除数组最后一个元素(出栈)。操作原数组,返回操作后的数组长度。
array_rand() 从数组中随机取出指定数量的元素,返回该元素对应的索引(int)。如果指定取出多个,则返回元素的索引集(数组)。
array_reverse() 将数组元素反转并返回。如果增加第二个参数true,则数组键值对一起反转,顺序相反,索引不变。
array_reduce() 用回调函数迭代地对数组元素进行处理,返回处理后的值。
array_slice() 根据条件从数组中截取元素并返回。可指定截取起始位置(正负)和截取长度(正负)。指定第四个参数true可保留索引。
array_splice() 把数组中的一部分去掉并用其它值取代。操作原数组。用法与上一个函数相似。指定第四个参数则用其进行替换。
array_sum() 计算数组中所有值的和。返回计算后的值。
array_product() 计算数组中所有值的乘积。
排序:
sort() 对数组进行排序。可指定第二个参数使其按指定规则排序。不保留索引顺序。操作原数组。
usort() 通过回调函数对数组进行排序。操作原数组。
asort() 对数组进行排序并保持索引关系。
uasort() 通过回调函数对数组进行排序并保持索引关系。
arsort() 对数组进行逆向排序并保持索引关系。
ksort() 对数组按照键名排序。
uksort() 通过回调函数对数组按照键名排序。
rsort() 对数组逆向排序。不保留索引顺序。操作原数组。
krsort() 对数组按照键名逆向排序。
natsort() 用自然排序算法进行排序。保留索引顺序。
natcasesort() 用自然排序算法进行不区分大小写的排序。保留索引顺序。
shuffle() 按随机顺序排序。不保留键名。
array_multisort() 对多个数组或多维数组进行排序。可添加参数以指定排序顺序。
例子:
array_rand()和array_reverse()
$arr2 = array("a","b","x"=>"c","d",":","?","6");
dump(array_rand($arr2,1));
dump($arr2);
dump(array_reverse($arr2));
dump(array_reverse($arr2,true));
结果:
int 3
Array
(
[0] => a
[1] => b
[x] => c
[2] => d
[3] => :
[4] => ?
[5] => 6
)
Array
(
[0] => 6
[1] => ?
[2] => :
[3] => d
[x] => c
[4] => b
[5] => a
)
Array
(
[5] => 6
[4] => ?
[3] => :
[2] => d
[x] => c
[1] => b
[0] => a
)
array_reduce()
$array = array(2,3,4,5);
function func($c,$i){
$c.='===='.$i;
return $c;
}
echo array_reduce($array,'func',1);
结果:
1====2====3====4====5
array_slice()
include('dump.php');
$array = array(2,3,4,5,'a');
dump(array_slice($array,2,2,true));
结果:
Array
(
[2] => 4
[3] => 5
)