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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

     sort() 函数用于对数组单元从低到高进行排序。
) J8 f. u. U: ]0 \$ e/ p  rsort() 函数用于对数组单元从高到低进行排序。
' g7 o/ B8 n) D) Y( L1 W  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
4 E5 K1 ^7 H" o! [% d" {( x  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
, `0 A' M* y* {+ B& `& {% y  ksort() 函数用于对数组单元按照键名从低到高进行排序。2 d6 o6 J. [$ e! |$ ?, [
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()1 f& H0 t- R& O& B8 R- @

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。# @+ h+ s6 g, D
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。5 X3 C; \" e0 o- |6 B0 `
  语法:
  o/ Z1 ?; Y2 |; k, u9 J/ N  bool sort( array &array [, int sort_flags] )
' V0 I' \) o# {+ |. \4 ]# l  可选参数 sort_flags 用于改变排序的行为:
/ k* g# f: m" p2 Z- k5 A  sort_flags 取值 说明. o3 ?0 f* q( ]& ~/ E# h- o
  SORT_REGULAR 正常比较单元2 M3 h3 r% Q9 }( f, j- t
  SORT_NUMERIC 单元被作为数字来比较
$ c3 I9 u$ \% g$ ?5 Q  SORT_STRING 单元被作为字符串来比较
# {# |8 X8 H: y9 l  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

  1. $arr = array("b", "a", "c");
    ! i4 Q& M/ p5 z* V
  2. sort($arr);
    # W+ j( {3 W& H  ~" p) H: H
  3. print_r($arr);8 r  o; U  |( q2 u: p6 z
  4. ?>
复制代码

运行该例子输出:

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

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

  rsort()3 S1 J5 l/ q- X0 r- o5 F0 m
  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()( P( U& G3 r. J$ S* d& [
  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。# `% o# |9 I- M3 }
  语法:. m2 z) n3 Z! ^4 Y6 k" s
  bool asort( array &array [, int sort_flags] )
- O# O  t5 U. ?" l7 J  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。/ o8 [8 o  e* {! b
  例子:
/ a, e5 O! U0 y! R, p  r8 y  

  1. $arr = array("b", "a", "c");
    + Q& P" Y( f' `2 B
  2. asort($arr);
    $ [0 O* u. g# K' |5 {: s0 p8 O
  3. print_r($arr);& f+ x) o& i6 n2 w
  4. ?>
复制代码
运行该例子输出:
  1. Array ( [1] => a [0] => b [2] => c )
复制代码

       arsort()
! m0 ~1 l& y/ F( a8 H4 B
  PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

  ksort()
9 T7 U3 T6 w- a6 w
  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。% I* r4 [0 T) c+ t6 Z& }
  本函数会保留原来的键名,因此常用于关联数组。
) L7 |' p! S; y) P- M. v% H0 |  语法:
' Q( L' _" a+ K5 F+ P, k. y8 C8 }) h  bool ksort( array &array [, int sort_flags] )
, |1 U( Z$ y" J. R- y5 I1 S& t  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。" @) @, e: n$ z# n& Z  Q, [
  例子:

  1. $arr = array("b"=>18, "a"=>20, "c"=>25);+ ~9 o% g4 N7 s# O' S
  2.   ksort($arr);
    ; P* N; Y8 a: u( z# v5 _
  3.   print_r($arr);
    + W( f7 z8 G# i# W1 L
  4.   ?>
复制代码

运行该例子输出:

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

       krsort()
# Z/ h# l4 k+ N  U  a
  PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。


* |# h) _3 l4 `) F; U" |0 @7 O$ o" E. E7 _. Q
7 Q8 }7 }/ F" \5 b$ N% q+ z! p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 10:49 , Processed in 0.053846 second(s), 19 queries .

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