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_STRING
或SORT_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 →