欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析 array 排序 数组排序 有大用

在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)设置来把单元当作字符串比较

  例子:

1
2
3
4
5
$arr = array("b", "a", "c");
sort($arr);
print_r($arr);
?>

  运行该例子输出:

1
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()。
  例子:
  

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

  运行该例子输出:

1
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()。
  例子:
  
  

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

  运行该例子输出:

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

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

来自  http://www.jb51.net/article/53861.htm

数组中的元素能够以字母或数字顺序进行升序或降序排序。

PHP - 数组的排序函数

在本节中,我们将学习如下 PHP 数组排序函数:

  • sort() - 以升序对数组排序

  • rsort() - 以降序对数组排序

  • asort() - 根据值,以升序对关联数组进行排序

  • ksort() - 根据键,以升序对关联数组进行排序

  • arsort() - 根据值,以降序对关联数组进行排序

  • krsort() - 根据键,以降序对关联数组进行排序

对数组进行升序排序 - sort()

下面的例子按照字母升序对数组 $cars 中的元素进行排序:

实例

<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>

运行实例

下面的例子按照数字升序对数组 $numbers 中的元素进行排序:

实例

<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
?>

运行实例

对数组进行降序排序 - rsort()

下面的例子按照字母降序对数组 $cars 中的元素进行排序:

实例

<?php
$cars=array("Volvo","BMW","SAAB");
rsort($cars);
?>

运行实例

下面的例子按照数字降序对数组 $numbers 中的元素进行排序:

实例

<?php
$numbers=array(3,5,1,22,11);
rsort($numbers);
?>

运行实例

根据值对数组进行升序排序 - asort()

下面的例子根据值对关联数组进行升序排序:

实例

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
?>

运行实例

根据键对数组进行升序排序 - ksort()

下面的例子根据键对关联数组进行升序排序:

实例

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
?>

运行实例

根据值对数组进行降序排序 - arsort()

下面的例子根据值对关联数组进行降序排序:

实例

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
arsort($age);
?>

运行实例

根据键对数组进行降序排序 - krsort()

下面的例子根据键对关联数组进行降序排序:

实例

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
krsort($age);
?>

运行实例

完整的 PHP 数组参考手册

如需完整的数组函数参考手册,请访问我们的 PHP 数组参考手册

该参考手册包含每个函数的简要描述、使用示例。


来自  http://www.w3school.com.cn/php/php_arrays_sort.asp

普通分类: