您的位置:首页 > 编程语言 > PHP开发

【小白笔记】PHP学习之路 (19) --数组增改排序

2014-03-28 20:20 501 查看
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
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 数组 函数