首页 > 编程语言 >php多维数组排序 array_multisort

php多维数组排序 array_multisort

时间:2024-08-21 08:54:48浏览次数:8  
标签:SORT php int edition multisort array 排序 data

参考文章:https://www.cnblogs.com/ivy-zheng/p/12557645.html

array_multisort — 对多个数组或多维数组进行排序

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

关联(string)键名保持不变,但数字键名会被重新索引

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

参数

array1

要排序的 array

array1_sort_order

之前 array 参数要排列的顺序。 SORT_ASC 按照上升顺序排序, SORT_DESC 按照下降顺序排序。

此参数可以和 array1_sort_flags 互换,也可以完全删除,默认是 SORT_ASC 。

array1_sort_flags

为 array 参数设定选项:

排序类型标志:

  • SORT_REGULAR - 将项目按照通常方法比较(不修改类型)
  • SORT_NUMERIC - 按照数字大小比较
  • SORT_STRING - 按照字符串比较
  • SORT_LOCALE_STRING - 根据当前的本地化设置,按照字符串比较。 它会使用 locale 信息,可以通过 setlocale() 修改此信息。
  • SORT_NATURAL - 以字符串的"自然排序",类似 natsort()
  • SORT_FLAG_CASE - 可以组合 (按位或 OR) SORT_STRING 或者 SORT_NATURAL 大小写不敏感的方式排序字符串。

参数可以和 array1_sort_order 交换或者省略,默认情况下是 SORT_REGULAR

Example #1 多个数组排序

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>结果:
array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Example #2 排序多维数组

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

Example #3 对数据库结果进行排序

<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
// 将数据根据 volume 降序排列,根据 edition 升序排列// 把 $data 作为最后一个参数,以通用键排序
array_multisort(array_column($data,'volume'), SORT_DESC, array_column($data,'edition'), SORT_ASC, $data);
array_multisort(array_column($data,'volume'), SORT_DESC, $data);

?>

 

标签:SORT,php,int,edition,multisort,array,排序,data
From: https://www.cnblogs.com/wjs2019/p/18370855

相关文章

  • [PHP GD Study]我的世界皮肤转迷你世界
    涉及图片旋转、放大、复制目前仅实现了头部的复制准备工作:迷你世界皮肤底图(命名为miniw.png):我的世界皮肤:源代码:⚠AI生成<?php//设置上传文件的目标目录$target_dir="uploads/";//创建目标目录如果不存在if(!file_exists($target_dir)){mkdir($target_di......
  • 用友crm客户关系管理help.php存在任意文件读取漏洞
    产品介绍:用友U8CRM模块是一个综合性的客户关系管理系统,旨在帮助企业从客户出发,以客户关系为管理对象,通过动态管理客户信息、获得客户知识和评判客户价值状况,来全面提升并保持企业的竞争优势及盈利能力。 Fofa语句: body="用友U8CRM"  poc GET/pub/help.php?key=Y......
  • 【开源分享】2024好用的PHP在线客服系统源码 带搭建教程
    安装教程1.上传源码压缩包到网站目录并解压2.设置网站运行目录public3.设置伪静态,选择thinkphp4.创建数据库,导入数据库:public/service.sql5.修改.env里的数据库配置信息6.启动命令(根目录终端) phpthinkworker:gateway-d更详细的搭建文档需下载压缩包,安装教程.docx......
  • 【开源分享】2024好用的PHP工单管理系统 带搭建教程
    在日益复杂的企业运营环境中,工单管理成为企业提升运维效率、优化服务质量的关键环节。工单管理系统源码以其高效、稳定、灵活的特点,为企业提供了强大的工单管理解决方案。未来,我们将继续优化系统功能,提升用户体验,为企业创造更大的价值。同时,我们也期待更多企业加入我们的行列,共......
  • PHP中的Malformed UTF-8 characters错误解决
    在PHP开发中,开发者经常会遇到MalformedUTF-8characters错误。这个错误通常是由于代码中存在无效的UTF-8字符而引起的。本篇博客将为您介绍如何解决这个问题。什么是UTF-8字符?UTF-8是一种用于表示Unicode字符的编码方式。它可以表示任意Unicode字符,包括ASCII字符以及其他国际字......
  • 基于PHP+MySQL组合开发的DIY分销商城小程序源码系统 附带源代码包以及搭建部署教程
    系统概述随着消费者对购物便捷性、个性化需求的不断增长,传统的电商模式已难以满足市场多样化需求。分销商城小程序以其低门槛、易传播、高粘性等特点,成为众多商家转型升级的首选。本源码系统正是基于这一市场需求,利用PHP这一成熟稳定的后端开发语言和MySQL数据库,结合微信小程......
  • F.array
    F.array()是PySpark中的一个函数,用于将多个列组合成一个数组类型的列。F通常是pyspark.sql.functions模块的简写方式,便于调用。语法  pyspark.sql.functions.array(*cols)参数  *cols:需要组合成数组的多个列。这些列可以是直接传入的列名(字符串)或使用F.col("colu......
  • array
    arrayarray<T,N>模板定义了一种相当于标准数组的容器类型。它是一个有N个T类型元素的固定序列。除了需要指定元素的类型和个数之外,它和常规数组没有太大的差别。显然,不能增加或删除元素。模板实例的元素被内部存储在标准数组中。和标准数组相比,array容器的额外幵销很小,但......
  • NSSCFT [SWPUCTF 2022 新生赛]ez_ez_php
    进入之后就看见一段php代码,那就直接开始代码审计<?phperror_reporting(0);if(isset($_GET['file'])){if(substr($_GET["file"],0,3)==="php"){//截取字符串前三个字符,并与php做判断echo"Nice!!!";include($_GET["file&qu......
  • 易优CMS内置 application/common.php 与 application/function.php 两文件的函数说明
    系统内置函数建议先熟悉系统内置application/common.php与application/function.php两文件的函数说明,如果有符合的函数,尽量在插件里调用;不符合的话就在插件的logic业务逻辑里实现。以当前开发的易优CMS版本为主,要查找函数是否存在,切记只可调用,不可更改全局函数,以免影响整个......