当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

4.6.3排序时保持原数组的索引

9/17/2020 9:26:54 PM 人评论

4.6.3排序时保持原数组的索引

4.6.3 排序时保持原数组的索引

前面介绍的两个函数sort()和rsort(),都会为要排序的数组重新建立索引。有时,对数组排序后,仍需要保持原数组的索引,对于这种情况,在PHP中可以使用如下两个函数。

❑asort():该函数对数组元素进行排序,并且保持数组的原索引关系不变。该函数仍然对数组元素按顺向排序。如果处理成功,该函数返回TRUE,否则返回FALSE。

❑ksort():该函数对数组元素按索引名顺序排序,并且保持数组的原索引关系不变。如果处理成功,该函数返回TRUE,否则返回FALSE。该函数主要用于关联数组。

代码4-13演示了这两个函数的用法。

代码4-13 使用函数asort()和ksort()对数组元素排序4-13.php


01 $planet2=array(

02 'X'=>'Earth',

03 'Y'=>'Venus',

04 'Z'=>'Mars',

05 'A'=>'Jupiter',

06 'B'=>'Saturn'

07 );//定义数组$planet2

08

09 asort($planet1);//使用asort()排序

10 ksort($planet2);//使用ksort()排序

11

12 echo'使用函数asort()对数组元素排序:';

13 echo'<br/>';

14

15 foreach($planet1 as$key=>$value)//通过循环输出$planet1的索引和元素

16 {

17 echo'planet1['.$key.']='.$value;

18 echo'<br/>';

19 echo'<br/>';

20 }

21

22 echo'<br/>';

23 echo'使用函数ksort()对数组元素排序:';

24 echo'<br/>';

25

26 foreach($planet2 as$key=>$value)//通过循环输出$planet2的索引和元素

27 {

28 echo'planet2['.$key.']='.$value;

29 echo'<br/>';

30 echo'<br/>';

31 }

32 ?>


【代码解析】此代码没有很特殊的地方,只是先定义一个数组,然后使用函数asort()和ksort()对数组的元素和数组的索引进行排序。这段代码的执行结果如图4-12所示。

图 4-12 使用asort()和ksort()对数组元素排序

函数sort()按顺向排序数组元素,它有一个对应的逆向排序函数——rsort()。同样地,函数asort()和ksort()也分别有一个对应的逆向排序函数arsort()和krsort()。这两个函数分别按照asort()和ksort()的处理方式逆向排序数组元素,它们的用法和函数rsort()类似,这里不再重复举例。

相关教程

共有条评论 网友评论

验证码: 看不清楚?