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

  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() 函数使用。

(0)

相关推荐

  • PHP 查找字符串常用函数介绍

    一.strstr - 查找字符串的首次出现 string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 注1:$haystack是当事字符串,$needle是被查找的字符串.该函数区分大小写. 注2:返回值是从needle开始到最后. 注3:关于$needle,如果不是字符串,被当作整形来作为字符的序号来使用. 注4:before_needle若为true,则返回前东西. 复制代码 代码如

  • PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

    一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); //输出 11010 decbin (PHP 3, PHP 4, PHP 5) decbin -- 十进制转换为二进制 说明 string decbin ( int number ) 返回一字符串,包含有给定 number 参数的二进制表示.所能转换的最大数值为十进制的 4294967295,其结果为

  • PHP函数rtrim()使用中的怪异现象分析

    本文实例讲述了PHP函数rtrim()使用中的怪异现象.分享给大家供大家参考,具体如下: 今天用rtrim()函数时遇到了一个奇怪的问题: echo rtrim('<p></div>', '</div>'); // 输出为 <p echo ltrim('www.jb51.net','www.'); // 输出为 jb51.net 以上的输出结果有点出人意料,本来我想第一行应该输出<p>,第二行会输出jb51.net. 这个问题纠结了我好久,一直没有找到

  • PHP 字符串正则替换函数preg_replace使用说明

    1. preg_replace() $msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 $msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容 i (PCRE_CAS

  • php strstr查找字符串中是否包含某些字符的查找函数

    PHP 判断字符串是否包含其它字符 以下几个函数均可用来判断某字符串是否包含另外一个字符串PHP 中判断一个字符串是否包含其它字符是很常见的操作. 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼. 如果这几个函数恰好能帮上你的忙,我将会很高兴的.这几个函数中,我比较喜欢第四个... 复制代码 代码如下: <?php /** * 以下几个函数均可用来判断某字符串是否包含另外一个字符串 * PHP 中判断一个字符串是否包含其它字符是很常见的操作. * 虽然很简单,但还是写了几个函数,质量

  • php中利用explode函数分割字符串到数组

    分割字符串 //利用 explode 函数分割字符串到数组 复制代码 代码如下: <?php $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离字符串 $hello = explode(',',$source); for($index=0;$index<count($hello);$index++) { echo $hello[$index];echo "</br>"; } ?>

  • php 常用的系统函数

    字符串函数 strlen:获取字符串长度,字节长度 substr:字符串截取,获取字符串(按照字节进行截取) strchr:与substr相似,从指定位置截取一直到最后 strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符 strtolower:所有的字符都小写(针对英文字母) strtoupper:所有的字符都大写 strrev:字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转 strpos:从字符串中找对应字符出现的位置(数字下标),从最左边开始找

  • php 基础函数

    话不多说,如下所示: <?php //生成随机数 和 时间函数 //echo rand(); //echo "<br>"; //echo rand(0,10); //echo time();//时间戳 //2017-02-10 08:46:12 date_default_timezone_set("Asia/Shanghai"); //echo date("Y-m-d h:i:s");//默认转换当前时间 //echo date

  • php中bind_param()函数用法分析

    本文实例讲述了php中bind_param()函数用法.分享给大家供大家参考,具体如下: 从字面上不难理解,绑定的参数:下面我通过一个绑定参数的例子讲一下: for example: bind_param("sss", firstname,lastname, $email); 1. 该函数绑定了 SQL 的参数,且告诉数据库参数的值. "sss" 参数列处理其余参数的数据类型.s 字符告诉数据库该参数为字符串. 参数有以下四种类型: i - integer(整型)

  • PHP中函数rand和mt_rand的区别比较

    PHP函数rand和mt_rand mt_rand() 比rand() 快四倍 很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢.PHP 的 rand() 函数默认使用 libc 随机数发生器.mt_rand() 函数是非正式用来替换它的.该函数用了 Mersenne Twister 中已知的特性作为随机数发生器,mt_rand() 可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍. mt_rand() 比rand() 快四倍 mt_rand - 生成更好

  • php中str_pad()函数用法分析

    本文实例讲述了php中str_pad()函数用法.分享给大家供大家参考,具体如下: str_pad() 函数把字符串填充为新的长度. 语法: str_pad(string,ength,pad_string,pad_type); 参数列表: 参数 描述 string 必需.规定要填充的字符串. length 必需.规定新的字符串长度.如果该值小于字符串的原始长度,则不进行任何操作. pad_string 可选.规定供填充使用的字符串.默认是空白. pad_type 可选.规定填充字符串的哪边.可能

  • PHP date函数参数详解

    time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计算, 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24*365 那么如何把这个数字换成日期格式呢,就要用到date函数了 $t=time();  echo date("Y-m-d H:i:s",$t); 第一个参数的格式分别表示: a - "am" 或是 "pm"  A

  • PHP中isset()和unset()函数的用法小结

    isset(PHP 3, PHP 4, PHP 5 ) isset -- 检测变量是否设置 描述bool isset ( mixed var [, mixed var [, ...]])如果 var 存在则返回 TRUE,否则返回 FALSE. 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset().若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE.同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数.

随机推荐