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中使用Session配合Javascript实现文件上传进度条功能

    Web应用中常需要提供文件上传的功能。典型的场景包括用户头像上传、相册图片上传等。当需要上传的文件比较大的时候,提供一个显示上传进度的进度条就很有必要了。在PHP 5.4以前,实现这样的进度条并不容易,主要有…

    2022年6月12日
    0135
  • 我来教你lnmp是什么意思。

    【lnmp是什么意思】:LAMP、Nginx、MySQL和PHP的组合,其中L表示Linux操作系统,M表示MySQL数据库,N表示Nginx Web服务器,P表示PHP编程语言,lnmp是Linux、Nginx、MySQL和PHP的缩写,这个组合是一种常见的Web服务…

    2024年6月18日
    00
  • PHP与数据库异步处理的集成。

    随着互联网技术的不断发展,Web应用程序已经成为互联网世界中最重要的组成部分之一。而PHP作为Web开发的一种开源脚本语言,其在Web应用程序开发中日益重要。在大多数Web应用程序中,数据处理是一个必不可少的环节。…

    2023年5月21日
    07
  • PHP实现邮件异步发送的技术。

    随着电子邮件在我们日常生活和工作中的广泛使用,许多网站和应用程序都需要发送大量的电子邮件。然而,在大量邮件发送的情况下,同步发送可导致网站的性能下降,因为PHP必须等待邮件发送完成才能继续运行。为了避免…

    2023年5月23日
    05
  • (实用篇)微信网页授权(OAuth2.0) PHP 源码简单实现

    提要: 1. 建议对OAuth2.0协议做一个学习。 2. 微信官方文档和微信官网工具要得到充分利用。 比较简单,直接帖源代码了。其中“xxxxxxxxxx”部分,是需要依据自己环境做替换的 /** * OAuth2.0微信授权登录实现 * * @a…

    2016年10月24日
    0380
  • PHP中如何进行深度强化学习和自然语言翻译。

    在现代技术的发展中,深度强化学习和自然语言翻译是两个最具代表性的应用领域。而PHP,作为一门简单易学的编程语言,也能够参与到这两个领域中来,为AI技术的广泛应用提供更多的可能性。一、深度强化学习深度强化学…

    2023年5月23日
    03
  • 实现基于PHP的强大Web应用。

    作为一种流行的后端编程语言,PHP已经被广泛地应用于各类Web应用的开发中。其优点在于其开放性、易用性和强大的生态系统,使得PHP成为了许多开发者的首选。但是,要想实现一款强大的Web应用,仅凭PHP作为编程语言可…

    2023年5月30日
    01
  • PHP字符串类型string

    js中,虽然有2种字符串表达形式,但也应该理解为是一种字符串: var  str1 = ‘单引号字符串’ var   str2 = “双引号字符串”; 但在php中,单引号和双引哈字符串,是有不同细节含义的字符串。   php中,有4种字符…

    2018年3月14日
    0389

联系我们

QQ:951076433

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