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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
0 {, r; }" D+ x! g# l  rsort() 函数用于对数组单元从高到低进行排序。
$ y- E4 H7 t" ^  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。% Z, J3 O( S, Y3 b& y: h' Y% c
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。# ^2 ~! i8 E8 f
  ksort() 函数用于对数组单元按照键名从低到高进行排序。. v9 ^* m6 j2 {, m3 d: @. r
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
1 y8 j( i' b& c5 r8 z$ Q

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。- |2 c0 ~' r- v# @" F  n0 y! c9 Z
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。1 O8 j4 M4 @' [% R9 d, I5 l
  语法:: |1 y$ }$ [9 d- t8 z, Z& d
  bool sort( array &array [, int sort_flags] )& M& P5 j2 y3 D
  可选参数 sort_flags 用于改变排序的行为:% n: w+ H' ^$ d' u  T3 [
  sort_flags 取值 说明
7 g+ t% x$ w$ V  SORT_REGULAR 正常比较单元
4 V6 W- p2 t5 N* ?) }  SORT_NUMERIC 单元被作为数字来比较* w$ t9 n7 R, O6 e) Q# {" X
  SORT_STRING 单元被作为字符串来比较
+ M& @0 }$ p& h1 r; m2 ^, L: L0 U  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");: Z6 Y+ [  S5 x. R( Y$ C
  2. sort($arr);7 A$ b  ]* ?3 v2 E5 Y
  3. print_r($arr);
    # w) m) d3 e# t( ]# k% X
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort(); ], f) M/ }, G
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()3 {! a" {2 `6 W) W
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。: e0 l& t  V$ V
  语法:
5 r; G7 t- L5 G+ X" U, p  bool asort( array &array [, int sort_flags] )
  [* ^, O3 \2 {% Z  ]  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
7 o! N6 b, ?1 Y4 }. {3 _  例子:5 u- O# p+ M" h8 |; d
  

  1. $arr = array("b", "a", "c");# S' P, u3 m9 F& r
  2. asort($arr);5 E& }" J- O4 M
  3. print_r($arr);& _3 `6 w) ^5 L2 J% w% b6 N' ^
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()2 l# x/ Q8 e6 ]+ \9 V( _7 u
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
- z& ?1 b  s9 v. }" ^
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。+ T  ^6 c6 {( o. p
  本函数会保留原来的键名,因此常用于关联数组。0 U! _, E3 t- E  O. X
  语法:$ O: @7 \$ i$ Y2 k
  bool ksort( array &array [, int sort_flags] )
8 c$ k% x: u- M0 o  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。) t3 c( U1 X/ k# L2 A. v  p
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);2 N3 a# h. r! h
  2.   ksort($arr);
    : z4 ^. m4 B; U3 o) g
  3.   print_r($arr);( V2 B: ]3 {) K$ M# L' ^2 U6 |3 N
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()  C5 t3 l% n: y, d! Z
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

' \' t% H9 R" X. j7 {. `

) h1 [9 h; z! {8 [. R( ?/ j; Z3 W9 k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 12:59 , Processed in 0.112669 second(s), 19 queries .

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