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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。5 K' d; J0 }+ ]; r( C  N; k9 B
  rsort() 函数用于对数组单元从高到低进行排序。% M# R+ E& d$ k
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。% `9 }; X6 l9 R
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。5 E! y5 l' t' Q1 A
  ksort() 函数用于对数组单元按照键名从低到高进行排序。7 F! R4 _+ `, u/ w
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
& z0 m- Y2 e# t4 n8 r

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
$ L0 k* Z# u2 ?5 B9 W  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。1 k4 M! u9 Q  d- n- b
  语法:
& c0 k1 g9 r2 E! }) G: s! ^1 p, ^/ Q  bool sort( array &array [, int sort_flags] )) P2 I6 Q8 @% E, V- S+ g) S
  可选参数 sort_flags 用于改变排序的行为:& y2 N- L; k1 f4 b( @4 B4 l
  sort_flags 取值 说明$ e4 D& d3 p' j7 w1 d$ B4 D0 S
  SORT_REGULAR 正常比较单元
2 T0 j0 _$ U4 W" ~. h$ v  SORT_NUMERIC 单元被作为数字来比较3 l  @" h% q; K4 n. L; L! J
  SORT_STRING 单元被作为字符串来比较
" {+ f! E. L2 Y: q  z  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");2 u7 ?6 [* ^: y
  2. sort($arr);0 h* v; d7 X3 _/ t# K3 @4 y3 L
  3. print_r($arr);
    ! ]: W. U3 n" F4 P' W9 l9 i1 M
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()" e1 }& ?% s! f  H# @3 T- P8 J
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()% \6 E& D2 Y0 e8 K2 Q: n
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。* R. [3 M9 D/ T
  语法:; K# s: Y, G0 ]+ a9 L
  bool asort( array &array [, int sort_flags] )
/ m9 x+ v& P/ q& Q2 {1 n* M* C4 }  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
! ?+ L) J3 r- ^& U3 I! P1 |  例子:. l/ `9 J! L: Q
  

  1. $arr = array("b", "a", "c");) W6 p9 I  o. N' L/ O+ _7 a  Y
  2. asort($arr);" A) C+ q9 K4 ?. h
  3. print_r($arr);3 J) |0 T/ b. P4 y% ~% l6 A9 r2 x
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
* V- S* P! n2 H/ b) g7 U
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()! w& H3 R0 O/ N) }3 e1 H! w
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。" e9 c7 a6 t- Y" b
  本函数会保留原来的键名,因此常用于关联数组。  m7 ^( i, w" Y# c+ N& }3 v
  语法:
4 V- a( b1 g! V( w' i+ t  bool ksort( array &array [, int sort_flags] )
' x+ J" L, U" f. v: X$ X) a  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
5 ~# |$ `! V6 H  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    ( f0 p9 r1 T# H, m& _4 I( w8 q
  2.   ksort($arr);
      l- E: u3 q& m. ~7 p9 Y( O6 o
  3.   print_r($arr);
    1 O4 j. k& M6 Y3 d  B0 L+ U6 {
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()' O! F& O4 Q! \& u. c
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


& q! m+ ?; L7 N1 S3 x% ~9 v! c8 ~# }- q( d. b$ j; @
1 ], x: |$ A  H2 x/ e8 x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 02:17 , Processed in 0.095902 second(s), 22 queries .

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