PHP 数组排序(sort)

August 18th, 2010 by admin Leave a reply »

数字索引数组排序:
函数:sort(array, [sort type])
说明:sort()函数按升序对指定数组(第一个参数)进行排序。
sort函数第二参数作用为指定排序类型,是可选参数,可能的值为:
SORT_REGULAR: 默认值,不改变类型进行排序;
SORT_NUMERIC: 把值作为数字进行排序;
SORT_STRING: 把值作为字符串进行排序;
如数组中有4和”37″,按数字排序,4小于”37″;按字符串排序,4大于”37″;

01 <?php
02 $a = array(4,"37",3,100,0,-5);
03 sort($a);
04 for ($i=0; $i<6; ++$i){
05 echo $a[$i]." ";
06 }
07 echo "<br />";
08 sort($a,SORT_STRING);
09 for ($i=0; $i<6; ++$i){
10 echo $a[$i]." ";
11 }
12 echo "<br />";
13 ?>

输出结果:

-5 0 3 4 37 100
-5 0 100 3 37 4

降序排序:rsort(array, [sort type])
参数用法与sort函数相同。

关联数组排序:
函数:asort(array, [sort type])
说明:根据关联数组的元素值进行升序排序。参数使用见上面的sort函数。

函数:ksort(array, [sort type])
说明:根据关联数组的关键字进行升序排序。参数使用见上面的sort函数。

01 <?php
02 $a = array(
03 "good" => "bad",
04 "right" => "wrong",
05 "boy" => "girl");
06
07 echo "value sort<br />";
08 asort($a);
09 foreach($a as $key => $value){
10 echo "$key : $value<br />";
11 }
12
13 echo "<br />key sort<br />";
14 ksort($a);
15 foreach($a as $key => $value){
16 echo "$key : $value<br />";
17 }
18 ?>

输出结果:

value sort
good : bad
boy : girl
right : wrong

key sort
boy : girl
good : bad
right : wrong

降序排序:
arsort(array, [sort type]) 与 asort对应
krsort(array, [sort type]) 与 ksort对应

Advertisement

Leave a Reply