`

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

    博客分类:
  • PHP
 
阅读更多
http://www.jb51.net/article/53861.htm
在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() 函数使用。

如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区

分享到:
评论

相关推荐

    PHP数组排序函数合集 以及它们之间的联系分析

    `asort()` 用于按值升序排序关联数组,同时保持键值对的对应关系。这意味着即使数组元素的值改变了顺序,它们原来的键依然与之关联。 ```php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", ...

    PHP数组排序之sort、asort与ksort用法实例

    本文实例讲解了PHP数组排序中sort、asort与ksort的用法,供大家参考借鉴之用。具体实例如下所示: <?php $arr = array('d'=>'sdf', 'r'=>'sdf', 'a'=> 'eee'); //sort($arr); // 对数组的值进行重排, 删除之前的...

    2024年 php sort面试题目

    解释 PHP 中 sort(), rsort(), asort(), arsort(), ksort(), 和 krsort()等函数的区别和用途 - **sort()**:对数组进行升序排序,只适用于数值索引数组。 - **rsort()**:与 `sort()` 类似,但进行的是降序排序。 ...

    php排序php排序php排序php排序

    - 在关联数组中,如果需要根据值而不是键进行排序,可以使用`asort()`函数。它会保持键值对的关系,但按照值进行升序排序。Listing E中的`asort($data)`演示了这个过程。 - 要进行降序排序,`arsort()`函数是关键...

    PHP程序设计-3期(KC016) 2.7.4 数组操作(排序)常见问题.docx

    PHP提供了多种内置的数组排序函数,如`sort()`, `rsort()`, `asort()`, `arsort()`, `ksort()`, `krsort()`, `usort()`, `uasort()`, 和 `uksort()`等。初学者容易混淆这些函数的名称,导致排序失败。确保正确使用...

    PHP数组排序及运用场景.md

    如果数组包含键值对,并且需要根据值或键进行排序,则可以使用 `asort()`、`arsort()`、`ksort()` 或 `krsort()` 函数。例如,在电子商务网站中,可以使用 `asort()` 来根据价格对商品进行排序。 ##### 3. 自定义...

    常用PHP数组排序函数归纳

     •asort() – 根据值,以升序对关联数组进行排序  •ksort() – 根据键,以升序对关联数组进行排序  •arsort() – 根据值,以降序对关联数组进行排序  •krsort() – 根据键,以降序对关联数组进行排序  ...

    phperphperphper

    2. **asort()**:按值对关联数组进行升序排序,保持键值对应关系。 3. **ksort()**:按键对关联数组进行升序排序。 4. **arsort()**:按值对关联数组进行降序排序,保持键值对应关系。 5. **krsort()**:按键对关联...

    php通过ksort()函数给关联数组按照键排序的方法

    除了`ksort()`和`krsort()`,PHP还提供了其他数组排序函数,如`asort()`(按值升序排序关联数组,保持键值对应关系)、`arsort()`(按值降序排序关联数组,保持键值对应关系)、`sort()`(按值升序排序索引数组)和`...

    php-使用php开发的排序算法之ArrayKeysSort-排序算法实现.zip

    在讨论`ArrayKeysSort`之前,我们先了解PHP的一些内置排序函数,如`sort()`、`rsort()`、`asort()`、`arsort()`、`ksort()`和`krsort()`。这些函数分别用于对数组的值进行升序、降序排序,或对键进行升序和降序排序...

    PHP程序设计-3期(KC016) 2.7.4 数组操作(排序)课后习题.doc

    - `asort()`:对关联数组进行升序排序,保持键值关联。 - `arsort()`:对关联数组进行降序排序,保持键值关联。 - `ksort()`:根据关联数组的键进行升序排序。 - `krsort()`:根据关联数组的键进行降序排序。 - `...

    php处理二维数组(去除重复项,排序,转换,去空白等)

    `asort()` 和 `arsort()` 函数 这两个函数同样进行升序或降序排序,但它们保持了元素原有的键名。 ```php $a = ['a' => 1, 2]; asort($a); // 升序排序并保持键名 printr($a); arsort($a); // 降序排序并保持键名...

    php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    - `asort()` 保留键的同时按值升序排序。 - `arsort()` 保留键的同时按值降序排序。 - `ksort()` 按键升序排序。 - `krsort()` 按键降序排序。 - `usort()` 用户自定义排序函数。 - `uasort()` 保留键的用户...

    php数组函数分类

    - **asort()**: 按照值升序对数组进行排序。 - **arsort()**: 按照值降序对数组进行排序。 - **natsort()**: 使用自然顺序对数组进行排序。 - **natcasesort()**: 不区分大小写地使用自然顺序对数组进行排序。 - **...

    PHP 数组的常用函数

    - `asort()`: 对关联数组按值进行升序排序,保留键。 - `arsort()`: 对关联数组按值进行降序排序,保留键。 - `ksort()`: 对关联数组按键进行升序排序。 - `krsort()`: 对关联数组按键进行降序排序。 8. 搜索数组 -...

Global site tag (gtag.js) - Google Analytics