二维数组sort排序(php 二维数组的排序问题)

本文目录
- php 二维数组的排序问题
- javascript二维数组怎样排序
- thinkPHP二维数组排序
- vba二维数组多条件排序怎么设置
- matlab如何对二维数组先x后y升序排列,即先按x升序排列,对相同的x再把y升序排列,要求不改变
- C++中如何用STL的sort()对二维数组排序
- C++二维数组sort函数排序问题
php 二维数组的排序问题
对二维数组排序,得用到array_multisort()
下面是从php手册摘出来的例子.具体请根据你的问题查阅手册.
=========
数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc()。
《?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 升序排列。
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。
《?php
// 取得列的列表
foreach ($data as $key =》 $row) {
$volume;
$edition;
}
// 将数据根据 volume 降序排列,根据 edition 升序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?》
数据集合现在排好序了,结果如下:
volume | edition
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
javascript二维数组怎样排序
主要是通过sort函数来排序
var arr = ;
for(var i in arr) console.log(arr);
arr.sort(function(){return x;函数是自定义的,所以还是很灵活的
for(var i in arr) console.log(arr);//可以看到变化
thinkPHP二维数组排序
从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。
遇到这个要求的时候就不是 ORDER BY 能解决的问题了。因此翻看 PHP 手册查找到了如下方法,做此笔记。
废话少说,奉上代码,清单如下:
view plain copy
《?php
/**
* 二维数组根据某个字段排序
* 功能:按照用户的年龄倒序排序
* @author ruxing.li
*/
header(’Content-Type:text/html;Charset=utf-8’);
$arrUsers = array(
array(
’id’ =》 1,
’name’ =》 ’张三’,
’age’ =》 25,
),
array(
’id’ =》 2,
’name’ =》 ’李四’,
’age’ =》 23,
),
array(
’id’ =》 3,
’name’ =》 ’王五’,
’age’ =》 40,
),
array(
’id’ =》 4,
’name’ =》 ’赵六’,
’age’ =》 31,
),
array(
’id’ =》 5,
’name’ =》 ’黄七’,
’age’ =》 20,
),
);
$sort = array(
’direction’ =》 ’SORT_DESC’, //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
’field’ =》 ’age’, //排序字段
);
$arrSort = array();
foreach($arrUsers AS $uniqid =》 $row){
foreach($row AS $key=》$value){
$arrSort = $value;
}
}
if($sort){
array_multisort($arrSort), $arrUsers);
}
var_dump($arrUsers);
/*
输出结果:
array (size=5)
0 =》
array (size=3)
’id’ =》 int 5
’name’ =》 string ’黄七’ (length=6)
’age’ =》 int 20
1 =》
array (size=3)
’id’ =》 int 2
’name’ =》 string ’李四’ (length=6)
’age’ =》 int 23
2 =》
array (size=3)
’id’ =》 int 1
’name’ =》 string ’张三’ (length=6)
’age’ =》 int 25
3 =》
array (size=3)
’id’ =》 int 4
’name’ =》 string ’赵六’ (length=6)
’age’ =》 int 31
4 =》
array (size=3)
’id’ =》 int 3
’name’ =》 string ’王五’ (length=6)
’age’ =》 int 40
*/
vba二维数组多条件排序怎么设置
vba二维数组多条件排序设置的方法:
1、通过单元格赋值以后利用工作表里的Sort方法进行排序。
2、通过SQL实现,也需要调用单元格区域存放数据。
3、直接写循环语句通过算法来实现。
matlab如何对二维数组先x后y升序排列,即先按x升序排列,对相同的x再把y升序排列,要求不改变
在Matlab中排序某个向量时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可, 如果排序后还需要保留原来的索引可以用返回值,即=sort(A),计算后,B是A排序后的向量,A保持不变,ind是B中每一项对应于A 中项的索引。排序是按升序进行的。
C++中如何用STL的sort()对二维数组排序
本身sort()函数并不是针对快速排序排的,它不会叫你指定一个关键码,对a排序,如果需要指定关键码的话,只能是自己写代码。我本身并不清楚你的意思,如果是说要分别对a进行排序,其实自己可以编写一个函数,这里给出函数的代码:
void sort(int p) {//其实这里p完全可以写**p,但是由于这样清
//晰,所以还是这样写。
for(int i = 0; i 《 1000; ++i)
sort(&p);
}
其实这样的代码还可以进行模板化,比如说你要对a数组进行排序,可以这样写:
template 《int a,int b,typename type》
void sort(type p) {
for(int i = 0; i 《 x; ++i)
sort(&p);
}
以后可以如是调用代码:
sort 《1000,3》(a);
即可。
==================================================================
C++ 提倡使用 标准模板库(STL)
C++二维数组sort函数排序问题
cmp是一个自定义排序函数,它有两个参数a和b,返回值为int型,为这两个参数比较的结果。如果a》b,返回值大于0;如果a=b,返回值为0;如果a《b,返回值小于0。例:
int cmp(int a, int b)
{
return a-b;
}

更多文章:
gridview排序功能属性(怎么把datagridview中的自动排序功能禁用)
2025年6月15日 08:45
易语言主程序和dll通讯(C+的dll如何用易语言正确调用)
2026年4月8日 14:30
怎么制作网站ping工具(ping是什么 如何ping一个站点)
2026年4月7日 09:15
前端样式网站(前端开发应该知道的几个CSS网页表单布局技巧)
2026年2月10日 21:15
flash模板照片幻灯片放映按钮代码解释?如何使用C#操作幻灯片
2025年7月24日 18:45
delphi bit定义(delphi中如何定义TBitmap类型的变量)
2025年11月14日 19:00
bankstatement中文(bank statement是什么意思)
2026年4月5日 01:45
linux如何编程(linux编程开发如何实现对智能手机的开发)
2025年12月23日 13:00
compareto方法实现(java中compareto实现学生成绩排列)
2026年4月28日 01:00
win8如何重装系统(怎么重新安装win8系统|win8如何重新安装系统)
2026年5月29日 06:45










