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完善压缩处理类(支持主流的图像类型(jpg、png、gif)

    处理主流的图像类型(jpg、png、gif) Jpg -> imagecreatefromjpeg() Png->imagecreatefrompng() Gif->imagecreatrefromgif()   保存图像的时候: Png--->imagepng() Gif---->imagegif() Jpg--…

    2018年9月11日 PHP案例操作
    0335
  • php的成员方法(函数)

    一个需求 当我们需要让对象完成某个任务(比如计算,比如上传下载文件,分页等等), 就需要在类中定义函数, 这时我们就将这样的函数称为 成员方法. 举例说明: 代码:

    2018年4月9日
    0212
  • PHP图像处理技术应用-验证码的使用

    验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意…

    2018年9月6日
    0360
  • php类与对象的关系

    介绍 在面向对象编程中,最重要的概念就是 类 和对象,因此我们必须将他们的关系和区别搞清楚. 举例说明 说明: 从上面的代码我们可以看出 一个类可以创建多个对象 不同的对象的标识符#编码,是不一样的,有系统在…

    2018年4月9日
    0386
  • 浅谈PHP中goto语法的用法

    本篇文章给大家介绍一下goto语法在PHP中的使用方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。PHP中goto语法的用法在C++、Java及很多语言中,都存在着一个神奇的语法,就是goto。顾名思义…

    2023年3月29日
    06
  • 详解PHP论坛实现系统的思路

    首先在用户表定义一个积分字段;然后创建一个等级表,主要字段有等级名,上限积分和下限积分;再根据用户的行为进行积分累加;最后根据判断用户积分在哪个等级范围,从而得出用户等级。用户表CREATE TABLE `bbs`.`u…

    2022年6月16日
    0146
  • php引用文件的两种方法:require 及 include

    引用文件的方法有两种:require 及 include。 require 的使用方法如: require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PH…

    2018年3月13日
    0170
  • PHP中的自动化测试工具。

    随着现代软件开发的进化,自动化测试已成为不可或缺的一环。在PHP开发中,自动化测试工具的使用也越来越普遍。本文将介绍PHP中常用的自动化测试工具以及它们的优缺点。PHPUnitPHPUnit是PHP最流行的自动化测试框架,…

    2023年5月30日
    02

联系我们

QQ:951076433

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