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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。; m8 }* W9 r0 k! Z3 p
  rsort() 函数用于对数组单元从高到低进行排序。
0 i; V1 N4 B6 w: {4 G8 ?4 C! f  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。; N+ `/ s. ]; m' {2 P9 {+ |$ _; n
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。+ ^2 |" _  n" C- p: E- B
  ksort() 函数用于对数组单元按照键名从低到高进行排序。
3 o+ w5 @+ p$ p% Z( L3 e  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
) k4 B1 l. H( u$ _5 F  r: U

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
6 d5 }4 m7 T# U  g  T1 t) I  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。: Q% h1 f7 r  e3 n
  语法:% _1 E$ o4 u* X
  bool sort( array &array [, int sort_flags] )
  j+ s' ]3 e9 _( {. ]& S+ W7 J3 i  可选参数 sort_flags 用于改变排序的行为:  P& M( s/ E: p" z3 C0 m
  sort_flags 取值 说明0 \6 o/ \3 y$ |" g& c
  SORT_REGULAR 正常比较单元
' x. x1 ]/ u$ f4 G2 G  SORT_NUMERIC 单元被作为数字来比较
: }( O, u. _! g/ w  SORT_STRING 单元被作为字符串来比较
& U) q8 E5 O& J, @: f0 f7 |  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
    / V" |3 f/ H3 F# ^1 w9 r$ @2 I
  2. sort($arr);5 l+ ]) A6 G% h5 Z1 e
  3. print_r($arr);7 W; Z6 E( E* z9 s  r' |
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()
1 U1 I0 t3 M" `( J% R8 v
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()# j2 O! |" ~/ t, Q
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
. |7 ~- V% d; p4 N5 C& V6 e  语法:. R0 y: k$ H* @
  bool asort( array &array [, int sort_flags] ); x5 ~- K" J2 p" \' u
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。. A; h& U; ?/ m5 U& z
  例子:# p+ O1 x; o( s' R
  

  1. $arr = array("b", "a", "c");$ X- e2 N3 o" b+ E
  2. asort($arr);/ d9 P# t1 l3 `1 `
  3. print_r($arr);
    # d/ B( g' X1 d
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
1 n- I/ C4 }) z- C
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort(). g8 J% q8 {: P0 l4 v0 @
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
- e3 h/ y; a+ F9 S  本函数会保留原来的键名,因此常用于关联数组。% U% Q$ R; ?/ n9 k* }4 {. o
  语法:: i# W0 g, {9 D8 N' M8 x
  bool ksort( array &array [, int sort_flags] )! `+ H2 c7 J' I$ B
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。( w5 J+ G3 B) A' S) l2 a0 S
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);" r6 q! q$ F) |( N+ z
  2.   ksort($arr);- f- Z+ `$ I- {: D1 \6 f% Z, r
  3.   print_r($arr);! K! l2 Z8 O0 J& \, c
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
% X. h. \+ w' ?" ?: Q6 ~
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


6 h' n+ v+ x- M- k6 |% [1 \% a' U, \. ^; S
+ P  b* n3 X  a, l- w. G" V) G8 ?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 01:46 , Processed in 0.115640 second(s), 20 queries .

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