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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。# v  Q' B3 K1 f
  rsort() 函数用于对数组单元从高到低进行排序。2 r% j* K& }' x
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
8 m6 R7 L8 k. W& X5 J1 S  H  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。, G/ G1 ]2 e! y  }: D
  ksort() 函数用于对数组单元按照键名从低到高进行排序。
" Q9 q: j$ v7 g. @2 m- w8 k; K( p  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
3 e% I, M& d9 ?3 Q/ M# z" o: T

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。6 V3 L( B3 ~) R. k
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。- q# `0 j+ }8 ]0 G
  语法:6 Y* H( h1 M( o
  bool sort( array &array [, int sort_flags] )# X  p- n9 i# d! F+ X; W
  可选参数 sort_flags 用于改变排序的行为:  D, w' c! V4 u
  sort_flags 取值 说明3 p( A2 _0 ~  i' @/ o; d
  SORT_REGULAR 正常比较单元9 \' L6 L8 c6 m1 G2 |* _& i
  SORT_NUMERIC 单元被作为数字来比较
2 D# }; h0 f* b' ?7 m* c" s  SORT_STRING 单元被作为字符串来比较+ e9 ?! D/ |1 s% M
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");) O, C6 k/ m# |: D" A3 M
  2. sort($arr);
    4 \: Y$ l/ v/ k; p5 K
  3. print_r($arr);; l$ Y) P  d# a) L) v$ ^8 @7 T; \# W
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()1 d( V+ G2 [$ M5 C
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()1 Q( U' E6 \' {/ u1 S
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
" E$ ]+ t. m  S. f  语法:3 ~8 n+ n/ @: ?
  bool asort( array &array [, int sort_flags] )) B1 x4 d+ J9 K! y! T; r& e
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
7 P3 v8 i) v% {6 ^  例子:8 q8 W2 r5 \- J
  

  1. $arr = array("b", "a", "c");. W" J$ T/ h. l6 C( B* S8 k: u
  2. asort($arr);7 r% L3 V7 h/ ]) K. ]2 T
  3. print_r($arr);
    0 |. h6 [1 a) ]$ k, v  b
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
$ T  }( w0 j) [$ ]9 t2 H
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
9 N) K! \, C. f. ?, b
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。7 B% w5 e( s3 `' G1 \+ I* N$ y
  本函数会保留原来的键名,因此常用于关联数组。; i, ]& v, Y' b! L+ r
  语法:
2 i4 D9 f) p1 t  bool ksort( array &array [, int sort_flags] ): y8 C& B5 U/ P7 f9 X8 w
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
1 a- x9 D; F' d' A  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    5 O- f0 o: t, ^% u2 [2 P5 H
  2.   ksort($arr);
    5 c8 x* G$ I9 e/ A: U
  3.   print_r($arr);
    + @9 R2 {5 c2 b1 [! k
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
$ D( P2 w0 o. @6 u8 D$ U( I
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


& N' j3 f1 n1 b& X5 K& L9 \6 u9 _

, j, l: o# g- k- C8 \
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-22 04:12 , Processed in 0.055713 second(s), 19 queries .

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