需求说明: 产品的一个变态需求,按照序号输入 又重复的输入序号,后输入的序号优先排前列。例如 1 23 3 4 ,那么第二个3 要放到第三的位置,第一个3放到第四个位置。排列的位置是:
1->1
2->2
3->3
4->3
5->4
之前有通过usort($dj_arr, array("setDjInfo", "arrDjCmp")); 自定义函数的字段排序,用在这里明显就是不符合要求了。这么变态的需求,以前没有见过啊。
$data[] = array('volume' => 'ee', 'sort' => 2);
$data[] = array('volume' => 'gg', 'sort' => 1);
$data[] = array('volume' => 'hh', 'sort' => 6);
$data[] = array('volume' => 'aa', 'sort' => 2);
$data[] = array('volume' => 'gegww', 'sort' => 6);
$data[] = array('volume' => 'comeon', 'sort' => 7);
$data[] = array('volume' => 'hchange', 'sort' => 7);
$data[] = array('volume' => 'ladywyh', 'sort' => 7);
$data[] = array('volume' => 'cyworld', 'sort' => 7);
// 取得列的列表
foreach ($data as $key => $row) {
$sort[$key] = $row['sort'];
$data[$key]['key'] = $key;
$vkey[$key] = $key;
}
// 将数据根据 sort 升序排列,根据 key降序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($sort, SORT_ASC,$vkey, SORT_DESC, $data);
分享到:
相关推荐
定义一个二维数组用于存储学生的学号,姓名和c#课程的考试成绩,然后输入学号、姓名和c#成绩。最后按c#成绩升序和降序输出成绩单。
本文实例讲述了PHP实现二维数组按指定的键名排序的方法。分享给大家供大家参考,具体如下: <?php /*二维数组按指定的键值排序*/ function array_sort($array,$keys,$type='asc'){ if(!isset($array) || !is_...
主要介绍了如何保持PHP 二维数组排序键名不变,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文实例讲述了PHP实现对二维数组某个键排序的方法。分享给大家供大家参考,具体如下: /** * 对查询结果集进行排序 * @access public * @param array $list 查询结果 * @param string $field 排序的字段名 * ...
也就是说,struct 数组按一个字段排序,然后数组中对该字段具有相同值的那些条目按第二个字段排序,依此类推。 如果您只想按一个字段排序,您可以调用nestedSortStruct 并使用简单的字符串代替fieldNamesCell 的...
1.1.17 二维数组名作为函数参数 58 1.1.18 const关键字保护数组内容 58 1.1.19 指针做为函数的返回值 58 1.1.20 指向函数的指针 59 1.1.21 把指向函数的指针做为函数的参数 60 1.1.22 memset,memcpy,memmove函数 61 ...
• 将二维数组按列转换为一维数组 • 数组公式实现单条件求和 • 计算一周中内存采购的平均价格 • 统计各品牌的商品销量汇总 • 利用COUNT函数代替SUM 函数统计不重复记录 • 标识零件规格号中的非法数据 • 将中文...
【数据构造】 排序记录的数据元素表采用一维数组存储构造,每个元素包含8个关键字段,其类型 描述为: *include<stdio.h> *include<malloc.h> //分配size字节的存储区 *include<string.h> //包含字符串处理函数的...
实例101 使用快速排序法对一维数组进行排序 119 实例102 使用直接插入法对一维数组进行排序 121 实例103 使用希尔排序法对一维数组进行排序 122 实例104 使用Sort方法对数组进行快速排序 124 实例105 反转数组中元素...
6.18 当我向一个接受指针的指针的函数传入二维数组的时候,编译器报错了。 6.19 我怎样编写接受编译时宽度未知的二维数组的函数? 6.20 我怎样在函数参数传递时混用静态和动态多维数组? 数组的大小 6.21 当...
2.18 既然数组名可以用作数组的基地址,为什么对结构不能这样? 29 2.19 程序运行正确,但退出时却“core dump ”(核心转储)了,怎么回事? 29 联合 30 2.20 结构和联合有什么区别? 30 2.21 有办法初始化...