php排序函数详细讲解(附实例)-php教程

资源魔 32 0

排序的办法多种多样,通常状况下,咱们常常应用到的数组排序函数有:sort() 、rsort()、asort() 、arsort()、ksort()、krsort()。上面为各人逐个具体引见。

sort(array,sortingtype);

截图01.jpg

0 = SORT_REGULAR - 默许。把每一一项按惯例程序陈列(Standard ASCII,没有扭转类型)

1 = SORT_NUMERIC - 把每一一项作为数字来解决。

2 = SORT_STRING - 把每一一项作为字符串来解决。

3 = SORT_LOCALE_STRING - 把每一一项作为字符串来解决,基于以后区域设置(可经过 setlocale() 进行更改)。

4 = SORT_NATURAL - 把每一一项作为字符串来解决,应用相似 natsort() 的天然排序。

5 = SORT_FLAG_CASE - 能够连系(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,没有区别巨细写。

界说以及用法:

sort() 函数对索引数组进行升序排序。

rsort() 函数对索引数组进行降序排序,其余用法同样。

正文:本函数为数组中的单位付与新的键名。原本的键名将被删除了。

假如胜利则前往 TRUE,不然前往 FALSE。

提醒:请应用 rsort() 函数对索引数组进行降序排序。

sort() 函数用于对数组单位从低到高进行排序。

rsort() 函数用于对数组单位从高到低进行排序。

asort() 函数用于对数组单位从低到高进行排序并放弃索引关系。

PHP asort() 函数用于对数组单位从低到高进行排序并放弃索引关系,假如胜利则前往 TRUE,失败则前往 FALSE。

arsort() 函数用于对数组单位从高到低进行排序并放弃索引关系。

PHP arsort() 函数行为与 asort() 相同,对数组单位进行由高到低排序并放弃索引关系,请参考 asort() 函数应用。

ksort() 函数用于对数组单位依照键名从低到高进行排序。

PHP ksort() 函数用于对数组单位依照键名从低到高进行排序,假如胜利则前往 TRUE,失败则前往 FALSE。本函数会保存原来的键名,因而罕用于联系关系数组。

krsort() 函数用于对数组单位依照键名从高到低进行排序。

PHP krsort() 函数行为与 ksort() 相同,对数组单位依照键名进行由高到低排序,请参考 ksort() 函数应用。

应用用户自界说的比拟函数对数组 $a 中的元素进行排序:

usort(array,myfunction);
<?php
function my_sort($a,$b){
   if ($a==$b) return 0;
   return ($a<$b)?-1:1;
}

$a=array(4,2,8,6);
usort($a,"my_sort");

$arrlength=count($a);
for($x=0;$x<$arrlength;$x++)
   {
      echo $a[$x];
      echo "<br>";
   }?>
一、应用array_multisort

应用这个办法,会比拟费事些,要将age提掏出来存储到一维数组里,而后依照age升序陈列。详细代码以下:

代码以下:<?php
$ages = array();
foreach ($users as $user) {
  $ages[] = $user['age'];
}
array_multisort($ages, SORT_ASC, $users);

执行后,$users就是排序好的数组了,能够打印进去看看。假如需求先按春秋升序陈列,再依照称号升序陈列,办法同上,就是多提取一个称号数组进去,最初的排序办法这样挪用:

代码以下:
array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);
二、应用usort
应用这个办法最年夜的益处就是能够自界说一些比拟复杂的排序办法。例如依照称号的长度降序陈列:

代码以下:
<?php
      usort($users, function($a, $b) {
      $al = strlen($a['name']);
      $bl = strlen($b['name']);
      if ($al == $bl) 
          return 0;      
          return ($al > $bl) ? -1 : 1;
    });

这里应用了匿名函数,假如有需求也能够独自提掏出来。此中$a, $b能够了解为$users数组下的元素,能够间接索引name值,
并较量争论长度,然后比拟长度就能够了。

以上是工作中罕用的数组排序办法,想理解更多相干成绩请拜访PHP中文网:PHP视频教程

以上就是php排序函数具体解说(附实例)的具体内容,更多请存眷资源魔其它相干文章!

标签: php 排序 php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!