sort() 函数对数组值升序排序并重置为数字索引,忽略原键名;通过 $flags 参数控制比较方式,如 SORT_REGULAR(默认)、SORT_STRING、SORT_NATURAL 等。

PHP 中的 sort() 是一个内置函数,用来对数组的**值(values)按升序重新**,并且直接修改原数组——不保留原来的数字键名,而是重置为从 0 开始的连续整数索引。
它最核心的特点
– 只管值,不管键;
– 升序是默认行为(降序用 rsort());
– 总是返回 true(PHP 8.2+),不是布尔真假判断依据;
– 原数组结构被“重排”,原有键名全部丢弃。
怎么控制排序方式?靠 flags 参数
第二个可选参数 $flags 决定 PHP 怎么比较两个值。常见组合有:
- SORT_REGULAR:默认,按类型原样比较(比如 ’10’
- SORT_NUMERIC:强制转成数字比(’10’ > ‘2’,符合数值直觉)
- SORT_STRING:统一当字符串比(区分大小写)
- SORT_NATURAL:自然排序,适合含数字的字符串(’item2′
- SORT_FLAG_CASE:必须和
SORT_STRING或SORT_NATURAL配合使用,实现不区分大小写 - 多个 flag 可用位运算符
|组合,例如:sort($arr, SORT_NATURAL | SORT_FLAG_CASE)
要注意的坑
– 混合类型数组(比如同时有字符串、数字、null)用 SORT_REGULAR 时结果可能出人意料;
– 关联数组如果想保留应关系,别用 sort(),改用 asort();
– PHP 8.0+ 起,相等元素会保持原始顺序(稳定排序),之前版本不保证;
– 排序后内部指针自动回到第一个元素,遍历前不用手动 reset()。
一个典型例子
// 原数组$fruits = ['banana', 'Apple', 'cherry', 'apple'];
// 不区分大小写的自然排序sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
// 结果:[‘Apple’, ‘le’, ‘banana’, ‘cherry’]
家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l
0 基本上就这些。用对 flag,就能让 sort 处理各种常见排序需求,不复杂但容易忽略细节。
以上就是中sort函数是什么的详细内容,更多请关注php中文网其它相关文章!
微信扫一扫打赏
支付宝扫一扫打赏
