设为首页收藏本站| vip购买 |

cncml手绘网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11|回复: 0

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

[复制链接]
发表于 2018-10-7 02:53:07 | 显示全部楼层 |阅读模式

     sort() 函数用于对数组单元从低到高进行排序。, R* ?  s$ Q# g( ?3 i5 X" X
  rsort() 函数用于对数组单元从高到低进行排序。" ^# n% ]4 J7 C% a
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
# p. O' p. S/ u2 J4 h: i2 ]) E, U  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
1 `6 u6 n9 Y$ {4 {5 l  ksort() 函数用于对数组单元按照键名从低到高进行排序。
8 i$ I$ _, h; ^3 O  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()4 s% b8 B# q* A: p8 S5 }+ o' L! J+ y5 ~

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。# j1 A# A4 w5 g
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。1 u9 z% \# R8 \# U+ z! w% l$ B
  语法:5 |1 e8 T! F+ [( V
  bool sort( array &array [, int sort_flags] )
5 Q7 K% j6 T# `# I  可选参数 sort_flags 用于改变排序的行为:
; u7 ^: m4 ^4 s" N1 N5 B  sort_flags 取值 说明
* v# D& U5 y# ?. Q1 b8 x  SORT_REGULAR 正常比较单元/ H7 T8 @: x: i$ x& e. T3 V) ?
  SORT_NUMERIC 单元被作为数字来比较
2 Q  P2 u! Z6 S: R8 r) t- B* p$ m. I( O  SORT_STRING 单元被作为字符串来比较6 P( O% r+ ?% ]( I# b& M
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
    ) |- K% M9 b+ T0 q; k
  2. sort($arr);
    7 X7 ^, K1 ^( M% d! o+ g4 H( g
  3. print_r($arr);' I% C; Y- G2 O
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()
7 N' e( R  a0 M# o+ n; ^. p
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()6 I* i* v( U0 T+ n
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
* p3 J3 e" x; G! j* \, m; @  语法:
7 Z6 U' r9 q- g9 z  bool asort( array &array [, int sort_flags] ); Q, O% o  V7 X% |0 U4 t. l& z$ I
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。* ^% h! @4 i2 z, u4 {
  例子:
  N6 X% u! h, U) S% e- g  

  1. $arr = array("b", "a", "c");
    + P9 a' o+ O/ g1 [
  2. asort($arr);5 h8 [" c/ X0 e
  3. print_r($arr);
    . Z) {) S. o) w: q4 ]; u+ P
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
- e4 I3 k6 ~) Q- C8 D" H# g. z( S% J
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
  \' J" J: S) u* P
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。  ~: U! a" f3 H" J
  本函数会保留原来的键名,因此常用于关联数组。% `" w: U4 \1 L0 q( e  G  M
  语法:+ S6 ?6 o$ _3 E3 }% W" `
  bool ksort( array &array [, int sort_flags] )
$ T, Y9 R. @4 H; w% G5 |* N, g  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
/ D& _* v+ T0 V# f# {+ J! O  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);  q/ c& x1 N8 j) _% g
  2.   ksort($arr);
    0 q" x/ q& c9 i) |
  3.   print_r($arr);/ y. Q+ Z3 u8 S2 g2 @. F- E
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()" f( K9 @) i% ~; @" `
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

; L& ?) n( E; o  n+ Z/ L) A1 w4 s% n

5 ]: h/ v) ?) o4 H9 h6 g. \- Y9 z$ {4 {) m* `( ?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则