精华内容
下载资源
问答
  • 这次给大家带来php自定义二维数组排序函数array,php自定义二维数组排序函数array的注意事项有哪些,下面就是实战案例,一起来看一下。这篇文章主要介绍了php自定义二维数组排序函数array_orderby用法,结合实例形式...

    这次给大家带来php自定义二维数组排序函数array,php自定义二维数组排序函数array的注意事项有哪些,下面就是实战案例,一起来看一下。

    这篇文章主要介绍了php自定义二维数组排序函数array_orderby用法,结合实例形式分析了php针对二维数组进行排序的相关遍历、判定、排序等操作技巧,需要的朋友可以参考下

    本文实例讲述了php自定义二维数组排序函数array_orderby用法。分享给大家供大家参考,具体如下:<?php

    /**

    I came up with an easy way to sort database-style results. This does what example 3 does, except it takes care of creating those intermediate arrays for you before passing control on to array_multisort().

    */

    function array_orderby()

    {

    $args = func_get_args();

    $data = array_shift($args);

    foreach ($args as $n => $field) {

    if (is_string($field)) {

    $tmp = array();

    foreach ($data as $key => $row)

    $tmp[$key] = $row[$field];

    $args[$n] = $tmp;

    }

    }

    $args[] = &$data;

    call_user_func_array('array_multisort', $args);

    return array_pop($args);

    }

    /*

    The sorted array is now in the return value of the function instead of being passed by reference.

    */

    $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);

    // Pass the array, followed by the column names and sort flags

    $sorted = array_orderby($data, 'volume', SORT_DESC, 'edition', SORT_ASC);

    print_r($sorted)

    ?>

    运行结果:Array

    (

    [0] => Array

    (

    [volume] => 98

    [edition] => 2

    )

    [1] => Array

    (

    [volume] => 86

    [edition] => 1

    )

    [2] => Array

    (

    [volume] => 86

    [edition] => 6

    )

    [3] => Array

    (

    [volume] => 85

    [edition] => 6

    )

    [4] => Array

    (

    [volume] => 67

    [edition] => 2

    )

    [5] => Array

    (

    [volume] => 67

    [edition] => 7

    )

    )

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    展开全文
  • 二维数组排序

    2016-09-26 19:14:44
    二维数组排序
    // 二维数组排序
    public function sort($arr,$sort,$v){    //$arr->数组   $sort->排序顺序标志   $value->排序字段
        if($sort == "0"){                   //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
            $sort = "SORT_ASC";
        }elseif ($sort == "1") {
            $sort = "SORT_DESC";
        }
        foreach($arr as $uniqid => $row){
            foreach($row as $key=>$value){
                $arrsort[$key][$uniqid] = $value;
            }
        }
        if($sort){
            array_multisort($arrsort[$v], constant($sort), $arr);
        }
        return $arr;
    }
    展开全文
  • 分享给大家供大家参考,具体如下:/**作用: 二维数组排序函数,支持多键名排序* 返回: 排序好的数组* 使用: array_msort(数组,需要排序的键名,排序方式);* 例子: array_msort($cflist,"chapter_orderid","SORT_ASC");...

    本文实例讲述了php自定义函数实现二维数组排序功能。分享给大家供大家参考,具体如下:

    /**作用: 二维数组排序函数,支持多键名排序

    * 返回: 排序好的数组

    * 使用: array_msort(数组,需要排序的键名,排序方式);

    * 例子: array_msort($cflist,"chapter_orderid","SORT_ASC");

    * array_msort($arr,"name","SORT_ASC","type","SORT_DESC","size","SORT_ASC","SORT_STRING");

    */

    function array_msort($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR") {

    if(!is_array($ArrayData)) {

    return $ArrayData;

    }

    // 获取参数数量.

    $ArgCount = func_num_args();

    // 排序,并放置到SortRule数组

    for($i = 1;$i < $ArgCount;$i ++) {

    $Arg = func_get_arg($i);

    if(!eregi("SORT",$Arg)) {

    $KeyNameList[] = $Arg;

    $SortRule[] = '$'.$Arg;

    }

    else {

    $SortRule[] = $Arg;

    }

    }

    // Get the values according to the keys and put them to array.

    foreach($ArrayData AS $Key => $Info) {

    foreach($KeyNameList AS $KeyName) {

    ${$KeyName}[$Key] = $Info[$KeyName];

    }

    }

    // Create the eval string and eval it.

    $EvalString = 'array_multisort('.join(",",$SortRule).',$ArrayData);';

    eval($EvalString);

    return $ArrayData;

    }

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    展开全文
  • 今天就来为大家介绍一些java中的基础知识,也就是java中的二维数组排序是怎样的?一起来看看吧。首先我们需要知道的是,关于Java二维数组的排序方法之一是把二维数组放进一维数组然后试用版Arrays.sort();进行排序,...

    近些年随着科学技术水平的不断进步与发展,越来越多的人开始意识到java编程语言的重要性。也开始主动的学习这门语言。今天就来为大家介绍一些java中的基础知识,也就是java中的二维数组排序是怎样的?一起来看看吧。

    首先我们需要知道的是,关于Java二维数组的排序方法之一是把二维数组放进一维数组然后试用版Arrays.sort();进行排序,排序结束后再把一维数组内容重新写入二维数组内。为了方便,在这里使用了随机数生成方法Math.random()进行随机数生成,依次写入二维数组内,代码如下所示:import java.util.*;

    public class P11

    {

    public static void main(String[] args)

    {

    int[][] arr = new int[5][5];

    for (int i = 0; i 

    {

    for (int j = 0; j 

    { //生成随机数【100-1000】

    arr[i][j] = (int)(Math.random() * (1000 - 100 + 1) + 100);

    }

    }

    for (int i = 0; i 

    {

    System.out.println(Arrays.toString(arr[i]));

    }

    System.out.println();

    for (int i = 0; i 

    {

    Arrays.sort(arr[i]);

    }

    for (int i = 0; i 

    {

    System.out.println(Arrays.toString(arr[i]));

    }

    int[] temp = new int[25];

    int k = 0;

    for (int i = 0; i 

    {

    for (int j = 0; j 

    {

    temp[k] = arr[i][j];

    k++;

    }

    }

    System.out.println();

    for (int x: temp)

    {

    System.out.print(x + " ");

    }

    Arrays.sort(temp);

    System.out.println();

    for (int x: temp)

    {

    System.out.print(x + " ");

    }

    k = -1;

    for (int i = 0; i 

    {

    for (int j = 0; j 

    {

    k++;

    arr[i][j] = temp[k];

    }

    }

    System.out.println();

    System.out.println();

    for (int i = 0; i 

    {

    System.out.println(Arrays.toString(arr[i]));

    }

    }

    }

    因为使用了随机数生成的数组内容,所以每次运行数组内容都不尽相同,本次运行结果如下图:

    74eb7b5d4fb3bf56624079aea3c10035.png

    以上就是关于java中的二维数组排序是怎样的主要内容了。并且用实际的代码为大家展示出来,更加地生动和形象。如果你对java知识感兴趣,想要了解更多java经典例子,敬请关注奇Q工具网。

    推荐阅读:

    展开全文
  • php 二维数组排序函数,默认自然排序,即sort排序。这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释。/*** @function 二维数组自然排序* @author www.phpernote.com* @param array $array ...
  • 什么是二维数组?二维数组本质上是以数组作为数组元素的数组,即"数组的...php 二维数组排序函数,默认自然排序,即sort排序。这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释。/*** @fun...
  • php二维数组排序详解

    2020-10-26 17:50:49
    二维数组排序排序在php中也提供了一个函数array_multisort就可以直接排序了,下面我来介绍除了全使用array_multisort 对数组进行排序我们还写了一些自定二维数组排序方法
  • 维数组排序可以使用asort、ksort等一些方法进程排序,相对来说比较简单。二维数组的排序怎么实现呢?使用array_multisort和usort可以实现.例如像下面的数组:$users = array(array('name' => 'tom', 'age' =>...
  • Java二维数组排序的简单实现 方法一:重写Arrays.sort方法 待排序的数组形式int[][] array = new int[n][2],其中n为任意整数。排序逻辑为:按第一列升序排列;若第一列数字相等,按第二列升序排列。 importjava....
  • 因项目需要,要把两个一维的数组一一对应地转化为二维的,之后,在对合成的二维数组进行排序,从而实现一一对应的排序 合并函数: //合并一维数组为二维数组 function array_hebing(arr1,arr2){ var result = ...
  • 二维数组 排序: let arr = [[20,20],[1,1,],[53,53],[72,72],[36,36]] arr.sort((v1, v2) => { return (v1[0] - v2[0]) }) console.log(arr) //[[1, 1],[20, 20],[36, 36],[53, 53],[72, 72]] 去重: let arr =...
  • 本文实例讲述了C#实现的二维数组排序算法。分享给大家供大家参考,具体如下: class Order { /// /// 对二维数组排序 /// /// 排序的二维数组 /// 排序根据的列的索引号数组 /// 排序的类型,1代表降序,0...
  • Java二维数组排序

    千次阅读 2019-06-29 15:46:12
    Java二维数组排序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,846
精华内容 4,738
关键字:

二维数组排序