使用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函数

时间: 2025-01-31 04:00:59

使用php对多维维数组排序。的相关文章

sort对二维字符数组排序(转)

由于二维字符数组的第二维没有赋值运算符,即不能对整个一维数组进行赋值,因此是无法直接对二维数组用sort进行排序的,解决办法有二种: 代码一: 1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 struct Data 7 { 8 char data[100]; 9 }str[100]; 10 11 bool cmp(const Data

php自定义二维数组数组排序

1.先直接上函数 function array_sort($arr,$keys,$type='asc'){         $keysvalue = $new_array = array();        foreach ($arr as $k=>$v){            $keysvalue[$k] = $v[$keys];        }        if($type == 'asc'){            asort($keysvalue);        }else{  

Android第二节(view简介以及Android布局管理器),维维复习

布局管理器是指定View之间的排列方式的.view就是UI控件,下节课我会整理到,这里我们先讲布局,大布局在我看来就相当于一个房间,让view显示,就是说物品在房间的摆放规则. 一.View的简介 View ,一般都有TextView,EditText,Button,RadioButton,CheckBox,ImageView,ImageButton. ViewGroup,一般有LinearLayout,RelativeLayout,FrameLayout,Spinner,ListView,Gr

Android第一节(体系介绍),维维复习

Android的学习已经过了很久了,感觉好多知识都已经忘了,现在开始慢慢整理吧,加油! 今天我们来开始Android基础之旅吧! 一.Android的系统框架 Android的系统架构共分为4层 1.Application应用层: 2.Framework应用框架层: 3.Libraries系统运行时和系统类库层(c/c++): 4.Linux内核与硬件驱动层: 二.Android 应用开发体系介绍 1.四大组件:Activity,Service,BroadcastReceiver(广播接收器),

PHP二维码生成

原文链接:http://www.qqdeveloper.com/detail/14/1.html 代码下载地址:链接:http://pan.baidu.com/s/1dFgqiaP 密码:lex5 材料下载地址:参考原文链接 下面为大致代码讲解: 一.PHP实现基本的二维码 <?php // 引入qrcode类库文件,并实例化 require "./phpqrcode/qrlib.php"; $qrcode = new QRcode(); $qrcode::png("h

thinkphp整合系列之phpqrcode生成二维码

php生成二维码其实挺简单的:当然指的是使用qrcode类库: 因此关于是否要写这篇博客:我是犹豫了再三的: 不过最后还是决定写下吧:如果有童鞋急着用:就可以直接引了: 再个也可以作为即将写的文章微信支付生成的二维码做个铺垫: 老规矩:以bjyadmin项目示例:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin 1:首先将/ThinkPHP/Library/Vendor/下的Phpqrcode文件夹拷贝到自己的项目中: 2:/Applica

C5_二维数组

// //  main.m //  C5_二维数组 // //  Created by dllo on 15/7/6. //  Copyright (c) 2015年 zhozhicheng. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { // 二维数组 //    int arr[5]={1,2,3,4,5}; //    char stu

HP QR Code 生成二维码

最近需要做一个扫码登录的功能,通过HP QR Code来实现,HP QR Code是一个开放源代码的php生成二维码的类库 地址:http://phpqrcode.sourceforge.net/ 通过 phpqrcode.php 的png()方法即可生成二维码图片,png()方法参数说明: public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $sav

phporjquery生成二维码

一.php生成二维码 下载文章末尾链接中phpcode文件 1 使用: 2 include "./phpqrcode/qrlib.php"; 3 QRcode::png('test','test.jpg',QR_ECLEVEL_L,10,0,true); 4 说明参数:($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false) 5 第一个参数$text,就是上