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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
, t8 e  h  R9 Y) ?; E$ C1 s7 I  rsort() 函数用于对数组单元从高到低进行排序。
2 Q  \. `3 m# g8 H, Q  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
' R, z9 B- u: K$ b: J, |  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
, J+ R$ F5 P6 y6 ^* R% ?, ^  ksort() 函数用于对数组单元按照键名从低到高进行排序。
( h3 |; ]4 E  E$ U  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()) i7 `2 L7 {7 ^/ n- K. p

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。% }  e* T7 h. R, {5 a1 g
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
. Q/ W5 p/ s: i% F  语法:$ x9 b7 L( M( |& N4 e8 N
  bool sort( array &array [, int sort_flags] )
& S; V; v4 |" v  X4 v5 G  可选参数 sort_flags 用于改变排序的行为:4 w% D( E( r+ M+ t7 x  ~8 U4 S
  sort_flags 取值 说明
3 N1 X( S' N% l# S  SORT_REGULAR 正常比较单元8 s6 _& {- z2 P( D3 q/ I! k
  SORT_NUMERIC 单元被作为数字来比较
: J% L) z$ j" R' i  SORT_STRING 单元被作为字符串来比较$ L3 K& I6 ^9 V$ F* n
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");% l0 V; C9 K' d' H0 r/ C5 [1 s
  2. sort($arr);
    $ d; A' b, L' K3 G' x0 z% e; |
  3. print_r($arr);! d& b- ]( f, ]6 @+ R# y6 A
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()
/ O& U) _) i: ]8 B! p% ?& x$ y1 p
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()  ^: O  j1 e; k2 h' u, W4 |/ g# z
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。+ k9 q) V+ v0 S$ M
  语法:: w5 {- ?. b$ }- K
  bool asort( array &array [, int sort_flags] )" J" G2 c# t1 X, Y: _+ d; R6 X. U
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
8 {' a# a( m$ x) g$ @- P  例子:
1 p- z" h+ I2 Z/ K  

  1. $arr = array("b", "a", "c");& E& A2 g& I# x, [" X$ [
  2. asort($arr);
      }. X: n3 K. }* |( E  v; }
  3. print_r($arr);# u2 m' g9 q+ H' g% e  s
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()) _- k# I8 s/ l: P
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()* B* p% s7 g. V- S5 o
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
0 |, F5 N% D. B" M( i  本函数会保留原来的键名,因此常用于关联数组。
. `" Q  K3 L# V6 Z  语法:) p- Z3 ?. A1 x) w
  bool ksort( array &array [, int sort_flags] )* U- R1 w1 B& N9 T% }4 U
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
" y: U% `5 F8 _  t& b, P  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);+ o, @' W9 j- t" [. x2 r8 Y9 s
  2.   ksort($arr);  P# ~" b; d3 D0 ^1 L1 `
  3.   print_r($arr);( b. r* M* A* d/ `& X, |
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
4 F4 u4 G6 J( g* x6 e2 K* g8 A" i
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


7 \$ r/ }5 f% N" X% w% A1 o( r
9 [0 C0 m  O9 _+ a! i* k9 h% }/ y: Z. Q: I: r
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-19 15:48 , Processed in 0.076357 second(s), 19 queries .

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