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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
5 A1 [8 A/ v; k7 m" _2 N; n$ A  rsort() 函数用于对数组单元从高到低进行排序。5 }0 X1 }- T: M, _0 ^3 k6 t
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
, p% n' ~, O  H) ^0 c; _( N# m  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
' h" K0 p5 v& c5 g% ]/ q7 W  ksort() 函数用于对数组单元按照键名从低到高进行排序。; H0 Y7 ?* I/ S4 k/ {
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()" K. O5 T& [7 G. X5 Z& ]; w4 s! a

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
( @+ \$ m2 ~6 T* |6 C* h0 I. H; X( M. n  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。+ r5 B8 z) \9 U$ V4 c( ^# H4 c
  语法:
. M, _! Z/ }2 N/ u6 a( K  bool sort( array &array [, int sort_flags] )
( y. l2 R9 W7 E2 d" D  可选参数 sort_flags 用于改变排序的行为:5 g& _1 h: r+ v2 d3 b- }
  sort_flags 取值 说明
' \6 {$ q  r  K( u. [  SORT_REGULAR 正常比较单元2 [: g' Z& B6 Y: Q6 \8 \( ?2 i5 I
  SORT_NUMERIC 单元被作为数字来比较
- v# Y& a$ w, e# T1 ^  SORT_STRING 单元被作为字符串来比较
% ~. l% j. X7 U' }/ D& [, y  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
    ) y  v' |: L/ Y; ]/ A
  2. sort($arr);. P3 m# H0 ]* C5 `9 p* I
  3. print_r($arr);2 z- t+ w. Q3 j2 h% u
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()" A: H4 L' D' I, U4 G1 U
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()
- O3 M- Z; W: g+ ?) x+ x) j
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
( J& O5 m3 c- q" _4 M/ o  语法:
! e9 w* J" L; F4 H3 m$ ~  bool asort( array &array [, int sort_flags] )4 i* V3 Y6 l7 S0 A+ W+ D8 R
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。' S( \$ V4 A0 Z) K
  例子:
8 m, \; Q, X  Q  

  1. $arr = array("b", "a", "c");
    5 w3 H* K0 O5 v& R, I
  2. asort($arr);6 K, z* _( z2 g. O5 |' _: A; E' ^% i
  3. print_r($arr);
    8 \1 b* [4 g7 K7 Z
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()) i3 }! e: F+ O; w) t( F6 m# ?( h
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()6 D( o" _8 w) F. w2 m2 K
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。% j, C1 M6 ^2 \9 r
  本函数会保留原来的键名,因此常用于关联数组。
1 E/ z" |: T/ U* W; \9 Q  语法:2 U7 ]6 W; F: @" J+ `
  bool ksort( array &array [, int sort_flags] ): n7 Q& s# n- X9 J0 k
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
7 b8 R5 ^; @5 h. |4 ]- g, c( R  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    ' g0 A; o7 j9 S9 d6 x9 R
  2.   ksort($arr);* I3 L5 [( W% e: g: y
  3.   print_r($arr);
    : T" c7 H* e/ U- e8 d7 O
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()) V/ r# Q1 ]4 Q& G3 d
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


& c5 b9 Y1 L4 K7 d5 y+ }- X' h4 h1 L: w( a7 ~; w. }

+ d) f/ z7 o, z# J
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-2 13:38 , Processed in 0.062476 second(s), 22 queries .

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