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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
8 H( \1 u% m) o  @6 L6 _' q  rsort() 函数用于对数组单元从高到低进行排序。4 v0 g( D- V+ n( j" {
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。! [* \% e, o  j" d4 g7 v, r
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。  e! m. a( T7 v- P4 E* X% Q
  ksort() 函数用于对数组单元按照键名从低到高进行排序。
% C  o/ h% \9 R' q1 a# B  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
$ y7 `: w( D6 c0 U  Q4 o: s

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
% X( w& Z' h( U! C  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。. u& l4 {3 V. E
  语法:
* C$ \0 R6 Z, S5 \! t: w0 D  bool sort( array &array [, int sort_flags] )* N2 V( m) @* h
  可选参数 sort_flags 用于改变排序的行为:) n! e$ i+ F+ k
  sort_flags 取值 说明
; H6 r; l2 P3 Y& @4 X  SORT_REGULAR 正常比较单元
8 V0 K7 U, `  M: R  SORT_NUMERIC 单元被作为数字来比较
+ ]+ l& t: X) F3 N$ `  SORT_STRING 单元被作为字符串来比较) N$ V5 o# ~( Y  r# g
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");- F2 n3 y2 k" }1 E: x* B, f( h
  2. sort($arr);; f. r3 l% ~* S2 E. I$ x& }
  3. print_r($arr);% J0 _% v# C8 f0 a9 h* A
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()% R3 z: ]7 D, \& N, X' |! f1 B0 p5 M
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort(): e/ `- J# O/ y3 a$ j2 N  V1 F3 B
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。7 p) a$ T+ G* P
  语法:
8 q3 T6 X- ^3 ?; n& n  {" Y  bool asort( array &array [, int sort_flags] )4 V: j: J' J$ s6 f1 L2 f
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。9 Q/ n- X* W' J0 n2 l
  例子:7 Q6 _* s: l: W  y; X* Y6 l6 k
  

  1. $arr = array("b", "a", "c");% i4 }8 V$ w# x! C! U
  2. asort($arr);
    2 x+ Y2 J% ?" a- R6 W4 p# T
  3. print_r($arr);
    , `! }, C! D- o( D! l! K% V
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()7 e/ U" U8 Z2 L& s2 {- \# w
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()+ k5 {7 ]* a2 U
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。! T$ v; R: J5 `. Z6 J7 x* d; r- y+ i' `7 R
  本函数会保留原来的键名,因此常用于关联数组。2 M# O: s( n) P
  语法:9 @& T# [7 v$ V( K
  bool ksort( array &array [, int sort_flags] )
. A" y  Z$ w1 G$ r  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。& [$ m# G' _5 Q! m) A7 ^+ G
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    - u9 k8 J2 O$ O6 g
  2.   ksort($arr);
    5 F& x( D+ e% P# T7 E9 h! N
  3.   print_r($arr);1 D" S' a) v1 j* I
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()! U/ o$ @7 z; O/ Y
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

* L/ T! }& a0 S' f2 \

" U0 ?: @7 t& d+ x! K6 y* D6 Q
3 G7 N; @1 h; u- Q2 m# i5 p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 22:03 , Processed in 0.051462 second(s), 20 queries .

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