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计划任务定时执行的方法有:crontab、windows计划任务、linux计划任务。 在PHP中,我们可以使用多种方法来实现计划任务的定时执行,以下是一些常见的方法: 1、使用crontab crontab是Linux系统中用于设置周期性…

    2024年7月18日
    01
  • PHP商城开发中的最佳实践

    在当今数字时代,电子商务和在线购物已经成为越来越多人生活中的不可或缺的一部分。而PHP是开发在线商城的一种流行编程语言,它现在已经被广泛采用在各种规模的电子商务网站中。但是,PHP商城的开发也存在着很多问…

    2023年5月18日
    01
  • PHP8中的数组函数:array_key_last()的新用途。

    PHP是一种非常流行的编程语言,也被广泛地用于Web开发。在PHP8中,增加了很多新功能和特性,其中包括一些新的数组函数。其中一个新的数组函数是array_key_last(),在这篇文章中,我们将探讨array_key_last()的新用…

    2023年5月21日
    00
  • PHP开发api接口

    php的api接口在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可…

    2022年6月27日
    0119
  • 总结一些php命令行下的常用命令

    1 php -m 显示编译到内核下的模块2 php -v 显示 php版本号3 php --ini显示配置文件名4 php -h显示有哪些命令行命令5 php --info查看类/函数/扩展信息,和web服务器上php 使用phpinfo()一样6 php --rf <name>…

    2022年6月25日 PHP自学教程
    0125
  • 如何调整PHP商城开发中的数据库连接?

    随着互联网和电子商务的发展,越来越多的企业和开发者开始开发在线商城。而PHP作为一种广泛应用于互联网领域的编程语言,也被广泛运用于商城的开发中。在开发PHP商城时,数据库连接是一个非常重要的环节,它负责将…

    2023年5月19日
    01
  • PHP实现异步的三种方式

    三种实现方式通用的异步执行文件 exec.phpsleep(8); $data = "--- type " . date("Y-m-d H:i:s") . " ---\\\\n"; file_put_contents("../log.txt", $data, FILE_APPEND);p…

    2022年6月27日
    0208
  • Memcache缓存技术在PHP中优化数据交互的实践和思考。

    Memcache缓存技术在PHP中优化数据交互的实践和思考在现代的Web应用中,数据交互是一个非常重要的问题,它没有足够的高效性,将会限制Web应用程序的扩展性和性能。为了加快数据交互速度,我们通常的做法是优化数据库…

    2023年5月21日
    00

联系我们

QQ:951076433

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