您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11482|回复: 0
打印 上一主题 下一主题

[php学习资料] PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

[复制链接]
跳转到指定楼层
楼主
发表于 2018-10-7 02:53:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

     sort() 函数用于对数组单元从低到高进行排序。
5 m- M& |% F/ z' M) a  rsort() 函数用于对数组单元从高到低进行排序。
+ _8 n7 s  O, Y  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
  b4 D  L# E" N% x# s- F7 i! A  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。- K, n7 ?% I4 r/ q
  ksort() 函数用于对数组单元按照键名从低到高进行排序。  Y. ?; v# U% g3 C9 h* k$ n
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()+ O  J; N) G& A

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
9 s. N2 j6 V( ]4 E  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
& O3 ~% m% [4 N) I, Z' N  语法:
3 S: a3 R" h, S2 T  bool sort( array &array [, int sort_flags] )
$ X  H* ^. J9 T0 Q5 _7 S$ X  可选参数 sort_flags 用于改变排序的行为:
1 h3 G$ L' X2 k) }+ M, ~% S$ I  sort_flags 取值 说明
1 J* `* z0 G: }$ G0 \: ]  SORT_REGULAR 正常比较单元
- {6 V3 [- |# j7 O! r) q  SORT_NUMERIC 单元被作为数字来比较
( }- P$ ^2 R6 C* c. H0 U  SORT_STRING 单元被作为字符串来比较
4 ~3 Z6 R. ]4 W  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
    ( v! J: U: V. D: `7 Y3 m. S2 B
  2. sort($arr);& B0 o) \3 j8 _6 g0 m
  3. print_r($arr);
    % f. ?! i( E' p- e" r% J1 P: n
  4. ?>
复制代码

运行该例子输出:

  1. Array ( [0] => a [1] => b [2] => c )
复制代码

      在本例中, $arr 数组单元被按照字母顺序排序,而数组单元经过排序后,键值重新分配。

  rsort()
: ~) ?' S5 t, I" Y1 ~; i3 y
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()
! z- I" y$ \2 C+ k) j: u
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。5 l  m8 Y5 l; O+ g" \+ _
  语法:
5 S* h4 n( S. h8 @  bool asort( array &array [, int sort_flags] ), ~# Z; a- i) P: Z! E7 [8 ~/ e
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
4 c. j7 o! I3 {% p  Y  例子:
" p$ I/ ]$ {4 S6 g* n- \. a' k% t  

  1. $arr = array("b", "a", "c");
    5 {  Q% }- p% x
  2. asort($arr);8 L3 `  n9 c3 q& z1 C; T
  3. print_r($arr);: }7 o# U, Z! k+ A! M8 y; ^" E
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
) O) g) O. b9 t, A% R( ~
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
) L( n& x' C9 e) N" }! D
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。& [! F, c( ]7 \5 A5 x
  本函数会保留原来的键名,因此常用于关联数组。- T9 g2 N( I0 s" z+ f* C
  语法:
3 @7 i) s7 @- P  bool ksort( array &array [, int sort_flags] )0 U. F! X: ^, K7 \0 F: k
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
$ _3 a5 ]1 ~4 A" w9 R  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    ! {4 j' n' w* E
  2.   ksort($arr);
    , N2 q( Z& B# x. h
  3.   print_r($arr);3 |% u2 ^: A7 t5 b  y
  4.   ?>
复制代码

运行该例子输出:

  1. Array ( [a] => 20 [b] => 18 [c] => 25 )
复制代码

       krsort()* e0 N3 G- z7 q5 z
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


! p" U4 ]0 ]7 ^7 e) d' I& R9 o( M5 X, X- r+ E* k$ b/ x1 F( g
* {" S4 ~5 R9 J1 A& [0 m! F! @
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 01:10 , Processed in 0.114339 second(s), 20 queries .

Copyright © 2001-2024 Powered by cncml! X3.2. Theme By cncml!