首页 > 编程语言 >PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

时间:2023-01-08 11:01:28浏览次数:35  
标签:sort arr 函数 rsort krsort 数组 排序 单元


在php中自带了大量了数组排序函数,下面我们一一来介绍一下关于php数组排序的用法吧。

  sort() 函数用于对数组单元从低到高进行排序。
  rsort() 函数用于对数组单元从高到低进行排序。
  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
  arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
  ksort() 函数用于对数组单元按照键名从低到高进行排序。
  krsort() 函数用于对数组单元按照键名从高到低进行排序。

  sort()

  PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
  注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
  语法:
  bool sort( array &array [, int sort_flags] )
  可选参数 sort_flags 用于改变排序的行为:
  sort_flags 取值 说明
  SORT_REGULAR 正常比较单元
  SORT_NUMERIC 单元被作为数字来比较
  SORT_STRING 单元被作为字符串来比较
  SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

  例子:

$arr = array("b", "a", "c");
  sort($arr);
  print_r($arr);
  ?>

  运行该例子输出:

Array ( [0] => a [1] => b [2] => c )

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

  rsort()  PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

  asort()  PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
  语法:
  bool asort( array &array [, int sort_flags] )
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
  例子:
  

$arr = array("b", "a", "c");
  asort($arr);
  print_r($arr);
  ?>

  运行该例子输出:

Array ( [1] => a [0] => b [2] => c )

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

  ksort()  PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
  本函数会保留原来的键名,因此常用于关联数组。
  语法:
  bool ksort( array &array [, int sort_flags] )
  可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
  例子:
  
  

$arr = array("b"=>18, "a"=>20, "c"=>25);
  ksort($arr);
  print_r($arr);
  ?>

  运行该例子输出:

Array ( [a] => 20 [b] => 18 [c] => 25 )

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


标签:sort,arr,函数,rsort,krsort,数组,排序,单元
From: https://blog.51cto.com/kenkao/5996589

相关文章

  • 模拟库函数qsort
    #include<stdio.h>#include<string.h>structStu{charname[20];intage;};voidSwap(char*buf1,char*buf2,intwidth){inti=0;for(i=0;i<width;i++){cha......
  • B. Quick Sort【Codeforces Round #842 (Div. 2)】
    B.QuickSortYouaregivenapermutation【排列】†\(p\)oflength\(n\)andapositiveinteger\(k≤n\).Inoneoperation,you:Choose\(k\)distinctelement......
  • python-内建函数-排序函数sorted函数
    1.排序函数sorted()函数:对所有可迭代的对象进行排序操作语法格式:sorted(iterable,*,key=None,reverse=False)key:指定带有单个参数的函数,用于从interable的......
  • 关于C语言库函数qsort的学习
    #include<stdio.h>#include<stdlib.h>#include<string.h>structStu{charname[20];intage;};//voidqsort(void*base,//size_tnum,//size_twidth,//int(*cmp......
  • 深度好文 | YOLOv5+DeepSORT多目标跟踪深入解读与测试(含源码)
    导读本文主要介绍如何使用Yolo-V5+DeepSORT实现多目标检测与跟踪。(公众号:OpenCV与AI深度学习)背景介绍   目标跟踪是一种利用检测到对象的空间和时间特征在整个视频......
  • [ABC237G] Range Sort Query
    ProblemStatementGivenisapermutation$P=(P_1,P_2,\ldots,P_N)$of$1,2,\ldots,N$,andaninteger$X$.Additionally,$Q$queriesaregiven.The$i$-thquery......
  • 关于数据排序问题使用sort排序
    字母和数字一起排序数字的排序是优先于字母的,   varfruits=["Banana","Orange","Apple","Mango",1,'1',22,1,0,'33'];fruits.sort();//0,1,1,1,......
  • QuickSort
    importjava.util.Arrays;publicclassQuickSort{publicstaticvoidmain(String[]args){int[]nums={11,24,5,32,50,34,54,76};S......
  • hdu:sort it(逆序对,离散化)
    ProblemDescription给定n(n<=100000)个正整数,希望对其从小到大排序,如果采用冒泡排序算法,请计算需要进行的交换次数。Input输入包含多组测试用例,每组用例由两行组成:第一行......
  • 使用lambda表达式实现sort的自定义排序
    使用lambda表达式实现sort的自定义排序(C++andJava)首先大致讲一下什么是lambda表达式你也可以将它就当做是匿名函数,lambda表达式其实就是匿名函数演化出的一种语法系统......