PHP

sort

sort

(PHP 4, PHP 5, PHP 7)

sort - 对数组进行排序

描述

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

这个函数对一个数组进行排序。此功能完成后,元素将从低到高排列。

注意:如果两个成员比较相等,则它们在已排序数组中的相对顺序是未定义的。

参数

array

输入数组。

sort_flags

可选的第二个参数sort_flags可用于使用这些值修改排序行为:

排序类型标志:

  • SORT_REGULAR - 通常比较项目(不要更改类型)

  • SORT_NUMERIC - 用数字比较项目

  • SORT_STRING - 比较项目作为字符串

  • SORT_LOCALE_STRING - 根据当前语言环境将项目作为字符串进行比较。它使用语言环境,可以使用setlocale()进行更改

  • SORT_NATURAL - 比较项目作为字符串使用“自然排序”,如natsort()

  • SORT_FLAG_CASE-可以被组合(按位或)用SORT_STRINGSORT_NATURAL以不区分大小写的字符串进行排序

返回值

TRUE成功或FALSE失败时返回。

更新日志

版本描述
5.4.0作为sort_flags添加了对SORT_NATURAL和SORT_FLAG_CASE的支持
5.0.2添加了SORT_LOCALE_STRING

例子

示例#1 sort()示例

<?php $fruits = array("lemon", "orange", "banana", "apple" sort($fruits foreach ($fruits as $key => $val) {     echo "fruits[" . $key . "] = " . $val . "\n"; } ?>

上面的例子将输出:

fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange

水果按字母顺序排序。

示例#2使用不区分大小写的自然排序的sort()示例

<?php $fruits = array(     "Orange1", "orange2", "Orange3", "orange20" sort($fruits, SORT_NATURAL | SORT_FLAG_CASE foreach ($fruits as $key => $val) {     echo "fruits[" . $key . "] = " . $val . "\n"; } ?>

上面的例子将输出:

fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20

水果已经像natcasesort()一样排序。

笔记

注意:此函数为新元素分配新元素array。它将删除可能已分配的所有现有密钥,而不仅仅是重新排序密钥。

注意:与大多数PHP排序函数一样,sort()使用»Quicksort的实现。主键在分区中间选择,为已排序的数组创建最佳时间。然而,这是您不应该依赖的实现细节。

警告

当对具有混合类型值的数组进行排序时要小心,因为sort()会产生不可预知的结果。

也可以看看

  • asort() - 对数组进行排序并保持索引关联

← sizeof

uasort →