zoukankan      html  css  js  c++  java
  • 使用php对多维维数组排序。

    要多php的多维数组排序,可以使用php里的内置函数:array_multisort();

    语法: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             可选。规定输入的数组。

    实例:

     1 <?php
     2     $data = array();//要排序的二维数组
     3     $randChar = "abcdefghijklmnopqrstuwvxyz";
     4     for($i=0; $i<100; $i++){
     5         $randn = rand(100,999);
     6         $randc = $randChar[rand(0,25)];
     7         $data[] = array($randc.$randn, $randn, $randn.$randc);
     8     }
     9     $num = array();//要排序的数组,必须从$data中抽取出来
    10     for($i=0; $i<100; $i++){
    11         $num[] = $data[$i][2];
    12     }
    13     array_multisort($num, SORT_NUMERIC, $data);//进行排序,会根据数字排序
    14 echo "<pre>"; 15   print_r($data); 16 echo "</pre>";

    $data将会生成一个二维数组,$num必须是从$data数组里抽取出来的。

    个人理解,虽然没看过里面的代码:先使用冒泡排序等算法将一维数组$num排好,然后,再利用一个for循环将$num跟二维数组$data里被抽取出来的数据做if判断。如果,相等的话,就在新数组中增加该数据。以下大图也可以实现array_multisort函数

  • 相关阅读:
    mybatis中的配置文件的约束
    win10下PHP开发环境搭建
    装饰器的理解
    在iis上添加woff字体文件读取
    转发:使用sql命令查询视图中所有引用的基础表
    转:C4项目中验证用户登录一个特性就搞定
    转载:NSobject官方介绍
    thinkphp生命周期
    array_intersect_assoc — 带索引检查计算数组的交集
    array_flip — 交换数组中的键和值
  • 原文地址:https://www.cnblogs.com/sustudy/p/4157574.html
Copyright © 2011-2022 走看看