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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9303|回复: 0

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

[复制链接]
发表于 2018-10-7 02:53:07 | 显示全部楼层 |阅读模式

     sort() 函数用于对数组单元从低到高进行排序。
( a- Y. Y. S" D( h; C0 P7 z( d  rsort() 函数用于对数组单元从高到低进行排序。% w: v3 |" F6 y7 X6 R6 M+ O
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。- _, k. Q6 g+ _7 ?) U
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
6 g$ k& x7 k& E$ F  ksort() 函数用于对数组单元按照键名从低到高进行排序。
- G  R/ i; j7 u, P- u$ g# t  `. m5 ^) P  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
* _7 B8 O- ]3 L8 Q" J, a7 V. b

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
  a3 s6 [0 {/ [8 \5 I) `5 a2 {" @) _  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
  J1 |, d! J0 I: a  语法:( b8 @  [+ u. p/ ^. O
  bool sort( array &array [, int sort_flags] )! X$ {, n" t4 r( g% Q
  可选参数 sort_flags 用于改变排序的行为:
+ g" Q, G; j0 y( e  sort_flags 取值 说明5 Q! w+ b9 S* q& E8 E% T
  SORT_REGULAR 正常比较单元5 u" N" F8 d; B8 C/ v4 {  G8 w
  SORT_NUMERIC 单元被作为数字来比较
! S" S# {  R, s: j  J& ?  SORT_STRING 单元被作为字符串来比较/ N4 m: f& S- s* _/ k5 r" U# T2 z
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");) R4 i, z8 @# A. n( I9 T3 Q+ z: R
  2. sort($arr);
    6 O) S; `/ A7 Q% K; T! J- g
  3. print_r($arr);
      H* E* C; r! c) q
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()
" I) v% ~6 H( h5 Y
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()
% i, t3 e% j! ]6 L
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
6 x) I* j7 Q1 U# ~+ M  语法:
% }( ]8 S7 V/ v0 |; w  bool asort( array &array [, int sort_flags] )
- A1 G6 ]8 p) s" V  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
; \7 ^  Q% Q, m# P, R1 b  例子:
1 }. u' M! s5 m  S( l4 }; l  

  1. $arr = array("b", "a", "c");$ }0 f1 _2 e% w
  2. asort($arr);
    & ^) r7 l2 M( x! S$ l* G3 I
  3. print_r($arr);
    3 W% `1 r5 x5 i, J0 O
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()7 B( Y# x5 O! G3 Y, H
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
% u3 b" q2 A% G6 c7 }
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
9 K4 }5 _9 O2 T$ b  本函数会保留原来的键名,因此常用于关联数组。
8 Z4 i; t# _* d  语法:9 [* q2 W- g2 F- l8 g- K, r
  bool ksort( array &array [, int sort_flags] )
3 y7 C2 y6 q, K, N. s  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
& f6 W- g9 o- U5 k* R) z  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    3 \. v0 M7 l9 @! e3 r
  2.   ksort($arr);9 D) }1 m  x/ l7 a' |
  3.   print_r($arr);. w% D* W$ S5 y9 D1 r
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()( x8 y; M8 k3 q7 v
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

& M* b% W' j; R5 v/ H4 K9 o3 ]5 P

& K% B7 U* _7 D$ \; m; E# X3 ^4 C# P* z( r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-3-28 21:48 , Processed in 0.163955 second(s), 22 queries .

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