Datehoer的博客
我本将心向明月,奈何明月照沟渠
Datehoer的博客

当前位置:主页 > 技术分享 > PHP sort() 函数

PHP sort() 函数

浏览: 作者:Datehoer 发布日期:2020-12-13 21:40:40 来源: 原创
今天在做php习题的时候,发现其实之前学习到的知识掌握的并不牢固,特别是对于一些函数的应用,感觉跟没学一样。
所以今天简单的总结一下sort()函数的用法。
 
 
下面关于PHP提供的内置数组排序函数说法错误的是()
A、排序函数可以根据需要设置排序的类型
B、sort()函数默认将数组元素作为英文字符进行排序
C、asort()可在保持键值关系的同时对数组进行排序
D、rsort()可以实现数组从高到低的逆向排序
 
这道题,其实很简单的,但是由于对知识的掌握并不牢固,所以对B的判断出现了错误,我记得我当时应该选的是C好像,还是别的,反正没想出来。
说一下为什么会做错,是因为sort()函数是将数组进行排序,然后我就想到了["pink","apple","blue"]这三个使用sort()函数排序的话会变成["apple","blue","pink"]这样,既然排序变成这样了,那么其实应该就是按照英文字符进行排序的啊。
这就是我错误的地方了。其实它这个sort()函数是将数组进行排序,而不是默认将数组元素作为英文字符进行排序的
如果说默认当作英文字符,那么数字呢?
所以其实sort()函数的定义其实是,sort()函数对数值数组进行升序排序
不光可以根据英文字符排序,还可以根据数字等等吧,进行排序。
简单看一个关于数字的实例吧。
 
<?php
$numbers=array(4,6,2,22,11);
sort($numbers);
 
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
   {
   echo $numbers[$x];
   echo "<br>";
   }
?>
而排序结果呢?
2
4
6
11
22
 
显而易见,这是根据数字进行排序的。
而且其实sort()函数的语法其实是sort(array,sortingtype);
前面的array很好理解,就是数组,规定一下要排序的数组,而后面的sortingtype呢?
其实这个sortingtype是一个可选的参数,它规定了如何排列数组元素,可以选择的值有0,1,2,3,4,5
怎么用呢?直接在后面加就行了,比如说前面的那个sort($numbers)我们只要在后面加上参数就行了
比如说sort($numbers,1);在接下来我们简单说一下这个参数有啥用吧。
 
0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
1 = SORT_NUMERIC - 把每一项作为数字来处理。
2 = SORT_STRING - 把每一项作为字符串来处理。
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

 
所以其实如果有什么特殊的需求只需要在后面加上参数即可。如果没有别的需要的话,不需要加默认即可。
如果有什么疑问可以在评论区留言,我会在看到的第一时间进行回复的。

版权:本文由Datehoer原创,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接本文链接:https://zjzdmc.top/jsfx/88.html。

文章推荐

热门标签

返回顶部
下面为相关推荐
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!