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

cncml手绘网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 569|回复: 0

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

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

     sort() 函数用于对数组单元从低到高进行排序。
7 y0 B0 `) F6 V6 V2 B8 p# Y# ^2 y  rsort() 函数用于对数组单元从高到低进行排序。( N; u/ M  }  r1 k) T
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。* w& I$ @0 j. e- [8 Z" [8 \4 R* x# a
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。# {, K' q3 I) z, B
  ksort() 函数用于对数组单元按照键名从低到高进行排序。% N* b. V' q- H4 z
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()4 t1 Y3 D2 f3 M* M8 D

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
8 M3 ?9 t7 [) \! t$ v4 c4 Z# k  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。6 p9 S7 B  `0 U& k. {8 M
  语法:" X! ^& i0 k6 W) _3 d. V
  bool sort( array &array [, int sort_flags] )
6 A, r8 C6 p+ l+ a  可选参数 sort_flags 用于改变排序的行为:
% k1 ?7 f; e. j% F3 Z  sort_flags 取值 说明
0 w1 W% s* |7 @% [. p  SORT_REGULAR 正常比较单元
# F+ C5 Q" A9 y/ L, E6 m  SORT_NUMERIC 单元被作为数字来比较
- K) c' J! h2 P1 `" J! k9 @  SORT_STRING 单元被作为字符串来比较9 d' _' g, B2 b0 g
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
    ! q2 O$ n% x- V& O; S7 {
  2. sort($arr);' c$ i$ J/ O6 P7 ?0 x5 E2 J
  3. print_r($arr);
    6 L2 D( _6 R  z- o* q/ u* i0 `
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()  Y4 d0 ~. r7 S/ |
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()
8 d9 t- W" ^; [3 r. W
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。) p* R3 Q, I& J. u5 g+ p
  语法:! F" N9 F; P5 N1 c5 z
  bool asort( array &array [, int sort_flags] ); V: n$ e6 Q, b) s0 c  ?% `5 p
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
" p# y# u9 i- F  例子:
+ m/ g$ n$ v# n4 v  

  1. $arr = array("b", "a", "c");
    ( S) W3 K3 F* U- F0 w, ?
  2. asort($arr);; f: J+ a2 W0 g: Z/ p
  3. print_r($arr);
    5 O5 t' U, ~7 J; ^
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
4 q8 s% A8 h5 y) g9 [
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()$ |# x( G3 w5 M  O7 O3 \
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
0 |; l  P3 G6 _: ^. _* F0 I) }) l" {  本函数会保留原来的键名,因此常用于关联数组。& D; Q1 C9 T5 D1 o8 U
  语法:
' j8 @: M. x$ q  bool ksort( array &array [, int sort_flags] ): L% ]/ [9 @) q' P$ S* Z
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
" H% v6 E/ x) {) c; M  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    # O: z* K  m9 }' E
  2.   ksort($arr);
    + q& G7 j( s2 L& l5 ?
  3.   print_r($arr);1 k( f1 N" k/ k' H
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()9 g" R; j# H4 }1 e' [) t$ a
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


8 p1 A  F6 S0 B$ z4 a: b  {" v0 Z; N
7 r% z2 B, u/ D4 i! \2 {  z
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则