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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
1 K' k' M% j( P: a' l  rsort() 函数用于对数组单元从高到低进行排序。
( ?, x$ P4 B6 H/ R- J2 R  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。8 P7 D9 J% N$ \. H" l/ W
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。: P1 j+ u* l% b; O
  ksort() 函数用于对数组单元按照键名从低到高进行排序。1 z, f+ n* W4 I! P7 l2 y
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()
5 K/ }& J0 `; d/ l, V: Q

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。( F  ?5 x+ X' v6 }# @9 y* J% `' `
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
# h4 D4 m0 F& ~' Q& I  语法:
* h: k7 ~9 S  f  bool sort( array &array [, int sort_flags] )0 _2 J4 D: d( C5 F, z: R
  可选参数 sort_flags 用于改变排序的行为:2 {$ k) O4 [9 k
  sort_flags 取值 说明6 }# c5 a8 q7 s- d: p. j
  SORT_REGULAR 正常比较单元
3 m, ]4 e9 s4 o( e* q5 c  SORT_NUMERIC 单元被作为数字来比较2 j5 H+ @, J. ^& N
  SORT_STRING 单元被作为字符串来比较
/ k3 I$ V) h/ C  n8 k  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");- Z' x' Q" P1 L9 H- Z
  2. sort($arr);
    % D8 V) K- z( d5 G8 Z
  3. print_r($arr);6 `0 a4 {8 L' t7 @% K
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()1 o/ A( @. E8 F( H  ?4 B* }6 V
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort(). u+ a2 F9 t0 \9 ]* S4 ~8 i! Z
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。; [. t* `* d$ y6 f4 }, B: E
  语法:: m# {' k! q2 Q: e* l7 R
  bool asort( array &array [, int sort_flags] ); Q3 o. d& g6 t# N. N& m( L8 g
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
" [* z9 p& L: }" I; z7 f  例子:5 `5 Y; s6 b+ v/ g. _/ g8 I
  

  1. $arr = array("b", "a", "c");% x) ~9 b; E% l- ?3 @# v& N* X/ m
  2. asort($arr);
    " c! X- z2 I7 f) k9 A
  3. print_r($arr);9 Z1 o" d) d) L8 ^2 _" x: ]( k9 c
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()4 w( R7 F4 A& U# l
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
& X- S- |0 t# n' L/ k
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
$ K3 R+ v0 B- V  k  本函数会保留原来的键名,因此常用于关联数组。8 W5 X# L; {! ?$ ^7 a
  语法:& Q3 F9 g  G3 t) s# D0 ?
  bool ksort( array &array [, int sort_flags] )0 I: k" Z* G4 L
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。# W8 v! X5 l$ N% y; c
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);
    % i- C: P4 |2 U  p: D1 o% [
  2.   ksort($arr);7 t# K7 r; ~' E* }
  3.   print_r($arr);6 ?' F) s. X$ \+ ^; z+ l0 k. m# V; t5 r
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
4 R$ P. R0 d# R. G$ S* t% d% I
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

/ z7 F  n. T, B% h

0 t, A6 @6 }  F" E! }; x) ]9 }
# L+ `; w7 [6 Q. a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 09:25 , Processed in 0.066375 second(s), 20 queries .

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