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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
+ l  B' R* X2 c0 a  rsort() 函数用于对数组单元从高到低进行排序。
# F+ Y0 u" e$ z  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
: ?# E  A; z1 R' e1 W/ m' P  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。) d5 @0 }5 @0 L2 _; W
  ksort() 函数用于对数组单元按照键名从低到高进行排序。& }8 V+ W: B9 J
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
! u  J9 L+ E( }

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。6 c& `- O4 U: s& x7 b7 q8 D
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。* h3 Z1 h" t7 ]/ P$ a' ^& C' r
  语法:
6 O4 z" n+ e8 ]  bool sort( array &array [, int sort_flags] )( |4 ~% x1 Q* W+ v( B
  可选参数 sort_flags 用于改变排序的行为:
" ?' d9 }3 k9 _" |4 T" Q& C$ Y% ]0 r' D; P  sort_flags 取值 说明
; Q( l/ U& }% C9 u) |8 u9 h  s  SORT_REGULAR 正常比较单元) t) D( F6 [8 v
  SORT_NUMERIC 单元被作为数字来比较
' N5 V( C8 }( k5 H; A  SORT_STRING 单元被作为字符串来比较) g3 d& T1 d" ^6 c
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");! T' d; F0 }; E8 S/ m+ c8 c4 x3 E
  2. sort($arr);! }" f7 g. t) X
  3. print_r($arr);; Z6 w3 L/ t* n. _6 j+ M
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()
$ v2 x4 B% m! p
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()
+ H" X( d( B  O. ?8 S# _* z/ N' {
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
2 [1 }- T: h( y* Z  语法:+ l$ \# ?, ^# J! N  \4 I
  bool asort( array &array [, int sort_flags] ). J- Y, ]3 I" D: w" p. g/ O
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。7 H" G3 Q1 C( W
  例子:( m, ]- B# f& Y. e* P$ E* r
  

  1. $arr = array("b", "a", "c");
    ( r0 D6 K$ j" m% G7 e4 ^# v
  2. asort($arr);
    " r& X( n$ D! C3 L% S
  3. print_r($arr);
    : Q8 B% U7 k. B$ a
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()0 p. z) U/ A! X( C" }3 a' M" _# i
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
& ], O- Z* \3 @' C4 [2 H
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。" w+ E- R( [/ ~8 u
  本函数会保留原来的键名,因此常用于关联数组。: O# p$ t1 V+ C# p" E; c, P3 O
  语法:
! d4 G; N1 @0 |3 K! H+ x  bool ksort( array &array [, int sort_flags] )# Z; z( A) C; @) t6 m/ S
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。4 n3 H% F) h7 Y, R+ \
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    + O0 q( O, n, O( U3 z3 }! ?9 }
  2.   ksort($arr);
    . ?* L; y% J; ?8 N6 X" L' L" k
  3.   print_r($arr);
    / I" w/ Y0 A. u5 J. p7 a0 S
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
8 ~; H% j' M; h" n0 ]
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

8 Q6 U- t; Z4 O; _
6 w$ `$ J0 f8 G( G; q2 }

: r- r% N/ n0 F# S- t7 z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 01:23 , Processed in 0.124166 second(s), 22 queries .

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