PHP常见数组排序方法小汇总

1.简单数组排序 sort() 函数和rsort() 函数:

语法规则:

bool sort(array &array [,int sort_flags]
bool rsort(array &array [.int_sort_flags]

参数:

第一个参数是排序数组对象

第二个参数是可以选的 可选值:

SORT_REGULAR:是默认值,将自动识别数组的元素类型进行排序
SORT_NUMERIC:用于数组元素排序
SORT_STRING:用于字符串排序
SORT_LOCALE_STRING:根据当前的locale设置来把元素当作字符串比较

示例:

$a=array(4,7,9,1);
sort($a);
pirnt_r($a);
rsort($a);
print_r($a);

2.根据键名对数组排序

定义: ksort() 函数按照键名对数组进行有小到大的排序。 krsort()ksort()函数相反,排序后为数组值保持原来的键。

示例

$data= array(5=>"five",8=>"eight",1=>"one",7=>"seven");
ksrot($data);
print_r($data);
krsot($data);
print_r($data);

3.根据元素值排序

定义 : asort() 从小到大 / arsort() 从大到小,用这个函数排序,原始键名将被忽略,使用依次数字重新索引数组下标

示例 :

$data=array("a"=>1,"b"=>2,"c"=>3);
asort($data);
print_r($data);
arsort($data);
print_r($data);

4.自然排序

定义 : 是个非常特殊的排序方式,这种方式使用认知而不是使用计算规则,这种特性称为——自然排序法,即数字从1到9,字母从a-z,短者优先。

示例 :

$data=array("file1.txt","file11.txt","file111.txt");
natsort($data);//普通自然排序
natcasesort($data);//忽略大小写

5.根据用户自定义排序规则

语法规则 :

bool usort(array &array ,callback cmp_function)
bool uasort(array &array,callback cmp_function)
bool uksort(array &array,callback cmp_function)

说明 : 自定义回调函数,需要两个参数,分别是数组两个连续元素,比较第一个参数小于,大于,等于第二个参数是分别返回 0,1,-1

示例 :

$data= array("ab","abc","a","ac","abcd");
usrot($data,"mysortByLen");
function mysortByLen($one,$two){
 if(strlen($one)== strlen($two)){
  return 0;
 }else{
 return (strlen($one)>strlen($two))?1:-1;
}

6.多维数组排序

定义 : array_multisort()函数对多个数组排序,或者根据某一维或多维对多维数组排序。

bool array_multisort(array array1 [,mixed arg,[,array ....]])

示例:

$data=array(
  array("id"=>1,"name"=>4),
  array("id"=>1,"name"=>2),
  array("id"=>2,"name"=>3)
);
foreach($data as $key=>$value){
 $ids[$key]=$value["id"];
 $names[$key]=$value["name"]
}
array_multisort($data,$ids,$names);
print_r($data);

输出结果:

array(    array("id"=>1,"name"=>2),    array("id"=>1,"name"=>4),    array("id"=>2,"name"=>3)
 );

关于PHP常见数组排序方法小汇总的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/42110.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2022年6月25日 01:24
下一篇 2022年6月25日 01:24

相关推荐

  • php数组随机位置中插入新元素(附代码)

    以下是php数组随机位置中插入新元素的代码 代码如下: //数组随机位置中插入元素 function inarr($arr,$str=''){ $key=array_rand($arr);//随机数组下标,插入位置 $arr2=array(); foreach($arr as $k=>$value){ …

    2018年3月13日
    0449
  • 谈谈php中的fastcgi和php-fpm!

    fastcgi 是一个与平台无关,与语言无关,任何语言只要按照它的接口来实现,就能实现自己语言的fastcgi能力和web server 通讯。PHP-CGI就是PHP实现的自带的FastCGI管理器。FastCGI 是一个协议,它是应用程序和 WEB …

    2022年6月11日
    0136
  • PHP的cookie工作原理

    当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:\Documents and Settings\用户名\Cookies 目录下。cookie是HTTP标头的一部分,因此setcookie函…

    2017年11月27日
    0187
  • PHP与Redis性能监控。

    随着互联网技术的快速发展,网站访问量越来越大,对服务器的性能要求也越来越高。PHP这种脚本语言,由于其开发效率高、易学易用等优点,已经成为了互联网开发中的一种热门语言。而Redis这个高性能的数据缓存处理软…

    2023年5月21日
    02
  • PHP8.0中的Cookie库

    在互联网应用开发中,使用Cookie是常见的一种方式来维护用户会话状态。在PHP语言中,处理Cookie的相关功能在语言的核心库中得到了完善的支持,在最新的PHP8.0版本中,Cookie库得到了进一步的增强。一、 PHP中的Cook…

    2023年5月19日
    00
  • PHP如何在两个大文件中找出相同的记录?

    给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿), 机器内存限制100M,该如何找出其中相同的记录?思路处理该问题的困难主要是无法将这海量数据一次性读内内存中.一次性读不进内存中,那么是否可以考虑多…

    2023年3月29日
    00
  • 手册中的类型--用于说明需要某种类型的数据

    Mixed:mixed 说明一个参数可以接受多种不同的(但不一定是所有的)类型。如果函数需要的形参是两种以上,都会用mixed; Number:可以是int型和float型 Void: 作为返回类型意味着函数的返回值是无用的。void 作为参…

    2017年11月28日
    0240
  • PHP8中的函数:str_contains()的实用技巧。

    PHP8中新增的str_contains()函数是一种非常实用的字符串处理功能,它能够快速地判断一个字符串是否包含某一个子字符串。在实际应用中,它可以帮助我们快速定位出数据中的关键字,从而更加高效地进行数据处理和分析…

    2023年5月21日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息