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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。9 o& ?6 ^$ Q/ m' S2 D6 k3 Z
  rsort() 函数用于对数组单元从高到低进行排序。1 _) I! z2 J# H
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
2 Z$ Y0 j' \* P7 J. [  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。5 `  z7 }3 E! v0 n
  ksort() 函数用于对数组单元按照键名从低到高进行排序。! W1 H9 n! C7 ?5 n
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
5 y0 V* m% R. u- w, ?6 ?

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。6 X5 E- l: j: [
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。4 B! a5 U) w- _6 T" z9 A, O- e9 b, h
  语法:
8 y# A# O2 w$ K0 c+ z& A  bool sort( array &array [, int sort_flags] )
8 ^! a3 V0 n8 q3 f! o0 T* E  可选参数 sort_flags 用于改变排序的行为:
' j8 L7 M+ z  r% H  sort_flags 取值 说明0 l5 O4 c, \, \% Y7 h
  SORT_REGULAR 正常比较单元" k0 k& F' d! E- P, u4 E9 `( t
  SORT_NUMERIC 单元被作为数字来比较( r" l" |9 K, r5 ^
  SORT_STRING 单元被作为字符串来比较
1 r8 j9 Z5 y8 E! q1 S3 ~  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
      a* R, i: U$ \- S% R9 a- v
  2. sort($arr);
    ) r* ^7 `! F2 e$ k" a3 f7 t
  3. print_r($arr);. H! _4 u. q* J
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()1 |( y, ~+ u; C  C* [& l2 d
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()- U* h( Z* |4 o! k. k1 F  {
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
  q8 f: o8 r$ J2 y" {  语法:2 c$ k# ?- n% p0 g& H7 O9 Q
  bool asort( array &array [, int sort_flags] )
7 m/ v) n4 g+ O  l# a  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。. S' p0 n  J6 D- q* Y
  例子:
; Y* w4 J$ d* j0 i  

  1. $arr = array("b", "a", "c");
    # R* C- V% P& d0 R# u4 @' {% R) p
  2. asort($arr);
    " T$ n7 ]( h9 d/ O+ i
  3. print_r($arr);
    * c* S, ?9 t0 ~! ~0 t+ K7 O7 {
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort(); @; H: |+ b0 O5 ~1 R
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
9 Y, U5 y6 ^( W& H4 D
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
; Z; Y. X, f7 ~  本函数会保留原来的键名,因此常用于关联数组。" N& o. `3 D9 \
  语法:
0 c- `& _3 b' _3 |1 L' m  bool ksort( array &array [, int sort_flags] )3 x( h, {1 O. S; G; o3 T8 _: J+ s
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。* Z0 L# A! Y8 L5 K- K$ t
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);8 g" J# x3 @, j9 x( Y/ i8 Z1 T) B
  2.   ksort($arr);" }9 V9 v5 y9 e& F5 X, {+ `
  3.   print_r($arr);
    : o% f: \8 l( C
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
/ ^6 h2 P8 X7 w; d% }% D/ u
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

4 L0 i$ B+ v! v" R

# P2 J) B% h/ @- X1 B# @9 o8 N
9 u9 v1 k6 w7 g7 w% \5 `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 17:18 , Processed in 0.052982 second(s), 19 queries .

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