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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。3 }; b: Q8 B. V5 E" U) ~& p) Y
  rsort() 函数用于对数组单元从高到低进行排序。3 `' |- M- }1 i) n" V5 ^+ o9 c
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
' h9 v2 s( ~* L( F6 z, I; h! u! K  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。. A5 i6 T8 }9 Q7 h" w4 U4 v8 m8 h
  ksort() 函数用于对数组单元按照键名从低到高进行排序。
. X& P/ B2 O+ |& Z" H, C  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()/ J! d: x/ V6 D4 {. z# e- e/ |- T

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。. s2 @5 t* n: W& ?$ f, h7 \
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
0 Y& f' c2 q& I( O& ?0 s  语法:! f% j) s. w6 s, L! d; Z
  bool sort( array &array [, int sort_flags] )6 J. K: x- n& b1 H
  可选参数 sort_flags 用于改变排序的行为:" x! @3 P: {$ v6 U$ M
  sort_flags 取值 说明
, ~5 S/ \. p. S! v5 B: m9 H- T/ o  SORT_REGULAR 正常比较单元3 D5 F. e/ h- [! ^: s! P, B* W
  SORT_NUMERIC 单元被作为数字来比较! N$ s" c1 W$ C
  SORT_STRING 单元被作为字符串来比较8 s8 }$ n! C+ H
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");' c, o( j# I" [8 V; L
  2. sort($arr);
    ' @5 {1 b7 d6 }
  3. print_r($arr);; B. _* k" F4 F. a# z  W& b
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()  @( ~- J. H2 R; L  c$ z8 w
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()- s' P! R7 o6 t7 j5 u# e
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
0 I8 e5 b+ q4 Q6 u3 }7 {1 w$ V) V  语法:
8 ^7 g  x* ^- ~- _  bool asort( array &array [, int sort_flags] ), s9 a, V+ [6 h! [# v, w+ g
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
7 O3 K$ E0 Y. T9 w  例子:
# Q' p  Q8 Q& v: P* C  

  1. $arr = array("b", "a", "c");
    % a4 P( L7 |* g9 L! z; g% k4 X) E
  2. asort($arr);. {$ R# @; ?6 r1 ?. n4 W
  3. print_r($arr);6 s5 _; U' [1 ^* {! ?
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
) w- _/ Y6 ~% G  A
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()2 V, _5 G* e  v  \9 p
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。& `& V( P( A4 R
  本函数会保留原来的键名,因此常用于关联数组。5 D5 g; \# g: j8 w9 l; o  j" E, e
  语法:. u0 O( `  \; R4 H7 f: t! z
  bool ksort( array &array [, int sort_flags] )) K3 r( V! a- c3 e6 m8 F( u
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
: B' X4 ?, t* G& ]/ u, Z5 ^8 s  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);; O9 W0 J2 |5 w
  2.   ksort($arr);
    , \' C7 h) Q$ n! x, Y
  3.   print_r($arr);
    " K' l, m2 X0 s/ f3 I
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
. T9 T. L! C- ^2 B
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

+ ^$ A" y6 X7 f* e4 d% z; B: L. W
$ E, Z1 n0 f/ @% Q. n6 {- F) T" q
& `8 a' Y4 p$ T
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 18:42 , Processed in 0.054994 second(s), 20 queries .

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