多维数值排序

PHP array_multisort() 函数

定义和用法

array_multisort() 函数对多个数组或多维数组进行排序。

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。

第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:

  • SORT_ASC - 默认,按升序排列。(A-Z)
  • SORT_DESC - 按降序排列。(Z-A)

随后可以指定排序的类型:

  • SORT_REGULAR - 默认。将每一项按常规顺序排列。
  • SORT_NUMERIC - 将每一项按数字顺序排列。
  • SORT_STRING - 将每一项按字母顺序排列。

语法

array_multisort(array1,sorting order,sorting type,array2,array3...)
参数 描述
array1 必需。规定输入的数组。
sorting order 可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type 可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2 可选。规定输入的数组。
array3 可选。规定输入的数组。

提示和注释

注释:字符串键名将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。

注释:您可以在每个数组后设置排序顺序和排序类型。如果没有设置,每个数组参数会使用默认值。

实例:

要将age提取出来存储到一维数组里,然后按照age升序排列。

要将name提取出来存储到一维数组里,然后按照name升序排列。

<?php

$users = array(
    array('name' => 'tom', 'age' => 20)
    , array('name' => 'anny', 'age' => 18)
    , array('name' => 'jack', 'age' => 22)
    ,array('name' => 'bnny', 'age' => 18)
);

$ages = array();
foreach ($users as $user) {
    $ages[] = $user['age'];
}

$names=array();
foreach ($users as $user) {
    $names[] = $user['name'];
}

array_multisort($ages, SORT_ASC,$names,SORT_ASC, $users);

print_r($users);

?>
时间: 2024-09-15 20:35:55

多维数值排序的相关文章

block 数值排序 字面量的使用

//  创建一个block //  1.返回值 //  2.使用'^'标记一个Block,并写出Block变量 //  3.确定Block参数列表,参数名可以省略 //  4.'^' //  5.参数列表 //  6.主题部分,'{}:' //  7.在'{}'内部写具体实现 int (^myBlock)(int, int) = ^(int a, int b){ return a + b; }; int (^myBlock1)(int, int) = ^(int c, int d){ retur

PHP二维数据排序,二维数据模糊查询

一.因为项目中的一个报表需要合并三个表的数据,所以分表查询再合并数据,利用PHP数组函数进行排序,搜索.三表合并后的数组结构如下: Array ( [0] => Array ( [history_id] => 12 [sla_group_id] => 1 [sla_id] => -1 [create_time] => 1513057695 [tasklog_id] => 12 [tasklog_time] => 2017-12-12 13:48:15 [taskl

专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例

使用Python处理txt汉字文字.二维列表排序和获取list下标 一. list二维数组排序 它和字符串不同之处在于:字符串只能由字符组成而且不可变的(不能单独改变它的某个值),而列表是能保留任意数目的Python对象灵活容器. 总之,列表可以包含不同类型的对象(包括用户自定义的对象)作为元素,列表可以添加或删除元素,也可以合并或拆分列表,包括insert.update.remove.sprt.reverse等操作. 列表排序介绍 [1]常用列表排序方法包括使用List内建函数list.sor

二维数组 排序 随机数 练习

顺序排序方法 输出降序 import java.util.*; public class HW5_6_2 { static int x,t=0; //static int[]a=new int[x]; 如此int[]a 有默认值 数组会越界 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入数组长度"

简单数值排序算法 冒泡、选择、 直接插入排序

1. 选择排序法 找到第一小的数字,放在第一個位置:再找到第二小的数字,放在第二個位置 依次找到每次遍历的最小的值.一次找一個数字,如此下去就会把所有数值按照 順序排好.注意,与冒泡不同,遍历的过程中并不交换数值.一次遍历结束才交换. package com.sphere.algorith.design; import java.util.Arrays; public class Test { public static void main(String[] args) { int[] arr

PHP一维数组和二维数字排序整理

<?php /** 一维数组排序 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数组进行排序 arsort() - 根据值,以降序对关联数组进行排序 krsort() - 根据键,以降序对关联数组进行排序 */ $arr = array(1,3,5,2,4,6); //sort($arr); //rsort($arr); //var_dump($arr); $arr = ar

PHP多维数据排序(不区分大小字母)

1. PHP中最普通的数组排序方法 sort(); 看个例子: 1 <?php 2 $test = array(); 3 $test[] = 'ABCD'; 4 $test[] = 'aaaa'; 5 $test[] = 'Bdka'; 6 $test[] = '1EEE'; 7 $test[] = '3666'; 8 $test[] = 'cddd'; 9 10 sort($test); 11 foreach($test as $a) 12 echo $a.'<br>'; 13 ?&g

二维数组元素排序

<script type="text/javascript">//--------------------------1数值排序-------------------------var arr1=[[22,33,44],[1,0,6,2],[33,10],[10,5]];arr1.sort(function(x,y){ return x[1] -y[1];//按照二维数组arr1中每个数组元素(数组)的第二个元素升序排列 });console.log(arr1); //--

RDL 数值列排序

在SSRS中排序时,如果是数值列,默认为显示成以下,会按字母的顺序排序,但并不是我们想要的结果: 怎样达到我们要的效果,按数值排序: 1.进入页面,默认排序的设置,将其列用Cint()函数转换成数值. 2.交互式排序,点击会员[类型]列,按[休眠天数]排序: 结果效果: