PHP实现数组根据某个单元字段排序操作示例
本文实例讲述了PHP实现数组根据某个单元字段排序操作。分享给大家供大家参考,具体如下:
如题,给出一个PHP数组,数组结构如下:
$arr = array( array( 'name'=>'sadas', 'norder'=>1 ), array( 'name'=>'sadas', 'norder'=>11 ), array( 'name'=>'sadas', 'norder'=>123 ), array( 'name'=>'sadas', 'norder'=>11 ) );
需要是需要按照norder从大到小的顺序,重新排列$arr数组的顺序。
可以使用array_multisort
函数来帮助排序:
function p($arr){ echo "<pre>"; print_r($arr); echo "</pre>"; } $arr = array( array( 'name'=>'sadas', 'norder'=>1 ), array( 'name'=>'sadas', 'norder'=>11 ), array( 'name'=>'sadas', 'norder'=>123 ), array( 'name'=>'sadas', 'norder'=>11 ) ); $flag = array(); foreach($arr as $v){ $flag[] = $v['norder']; } array_multisort($flag, SORT_DESC, $arr); p($arr);
运行结果:
Array
(
[0] => Array
(
[name] => sadas
[norder] => 123
)
[1] => Array
(
[name] => sadas
[norder] => 11
)
[2] => Array
(
[name] => sadas
[norder] => 11
)
[3] => Array
(
[name] => sadas
[norder] => 1
)
)
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
今天发现一个很好用二维数组排序的php方法,usort,推荐给大家,以后二维数组里面,要按照一个字段的值排序用这个方法简单高效,例如下面的数组: [guess_subject] => Array ( [0] => Array ( [subject_id] => 4587 [game_id] => 9228 [parent_category_id] => 78 [subject_title] => 全场比赛两队总得分之和是 [subject_date_time] =>
-
PHP多维数组指定多字段排序的示例代码
介绍array_multisort方法 array_multisort - 对多个数组或多维数组进行排序.其php 手册中的说明如下: 复制代码 代码如下: bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $... ]]] ) 参数 arr 要排序的一个 array. arg 接下来的每个参数可以是另一个 array 或者是为之前 array 排序标
-
php自定义二维数组排序函数array_orderby用法示例
本文实例讲述了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
-
PHP实现根据数组某个键值大小进行排序的方法
本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法.分享给大家供大家参考,具体如下: 问题:针对给定数组的某个键的键值进行排序 解决方法: //$a是排序数组,$b是要排序的数据集合,$result是最终结果 $b = array( array('name'=>'北京','nums'=>'200'), array('name'=>'上海','nums'=>'80'), array('name'=>'广州','nums'=>'150'), array('name'
-
PHP多维数组排序array详解
PHP数组Array按字段排序 /** * Sort array by filed and type, common utility method. * @param array $data * @param string $sort_filed * @param string $sort_type SORT_ASC or SORT_DESC */ public function sortByOneField($data, $filed, $type) { if (count($data) <=
-
PHP实现统计一个数字在排序数组中出现次数的方法
本文实例讲述了PHP实现统计一个数字在排序数组中出现次数的方法.分享给大家供大家参考,具体如下: 题目 统计一个数字在排序数组中出现的次数. 题解 既然是排序数组,使用二分查找是效率最高的.找到之后再向两侧拓展一下. 代码 <?php function GetNumberOfK($data, $k) { if(count($data)==0){ return 0; } $index = 0; $low = 0; $high = count($data)-1; $middle = 0; //二分查
-
PHP实现二维数组根据key进行排序的方法
本文实例讲述了PHP实现二维数组根据key进行排序的方法.分享给大家供大家参考,具体如下: 在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来对自己的想法进行实现.下面就讲述一下如何实现二维数组根据key进行排序. 实现方法: <?php /** * ======================================= * Created
-
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php $a = array("one","two","three"); $b = array("一","二","三"); $c = array_combine($a,$b); print_r($c
-
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
本文实例讲述了PHP编程实现多维数组按照某个键值排序的方法.分享给大家供大家参考,具体如下: 实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort): 第一种: array_multisort()函数对多个数组或多维数组进行排序. //对数组$hotcat按照count键值大小降序进行排序: $hotcat =array( array('1501'=>array('catid'=>'1546','catname'=>'数组排序 一级','co
-
PHP实现数组根据某个单元字段排序操作示例
本文实例讲述了PHP实现数组根据某个单元字段排序操作.分享给大家供大家参考,具体如下: 如题,给出一个PHP数组,数组结构如下: $arr = array( array( 'name'=>'sadas', 'norder'=>1 ), array( 'name'=>'sadas', 'norder'=>11 ), array( 'name'=>'sadas', 'norder'=>123 ), array( 'name'=>'sadas', 'norder'=&g
-
PHP 二维关联数组根据其中一个字段排序(推荐)
PHP 中二维关联数组如何根据其中一个字段进行排序,下面的代码将二维关联数组 $array 根据 $orderby 字段进行排序: function wpjam_array_multisort($array, $orderby, $order = SORT_ASC, $sort_flags = SORT_NUMERIC){ $refer = array(); foreach ($array as $key => $value) { $refer[$key] = $value[$orderby];
-
Elasticsearch聚合查询及排序操作示例
目录 1 es排序 2 match和match的区别 3 分页查询 4 es 组合查询 5 结果过滤展示字端 6 结果高亮展示 7 聚合查询avg.max.min.sum.分组 8 mapping和_template模版 9 ik分词 10 term和match的区别 1 es排序 # 1 排序 GET jeff/doc/_search { "query": { "match": { "from": "gu" } }, &qu
-
JavaScript基于对象方法实现数组去重及排序操作示例
本文实例讲述了JavaScript基于对象方法实现数组去重及排序操作.分享给大家供大家参考,具体如下: <script> //用对象方法实现数组去重 Array.prototype.unique = function() { var newArr = []; for (var i = 0; i < this.length; i++) { if(newArr.indexOf(this[i]) == -1){ newArr.push(this[i]); } } return newArr;
-
JavaScript对JSON数组简单排序操作示例
本文实例讲述了JavaScript对JSON数组简单排序操作.分享给大家供大家参考,具体如下: 我们经常回使用到数据格式 var arr=[{num:1},{num:3},{num:2}] 如何根据数组里面的JSON数据的某个key进行排序 javascript有一个sort()方法,直接通过 arr.sort()进行排序,默认只对数组的值进行排序,然而以上的数组的值却是个JSON格式的. 我们在看看sort方法的定义: 定义和用法 sort() 方法用于对数组的元素进行排序. 语法 array
-
JS实现根据数组对象的某一属性排序操作示例
本文实例讲述了JS实现根据数组对象的某一属性排序操作.分享给大家供大家参考,具体如下: 根据数组中对象的某一属性排序 var newArray = [{ name: "aaa", value: 0 }, { name: "ddd", value: 3 }, { name: "bbb", value: 1 }, { name: "eee", value: 4 }, { name: "ccc", value:
-
JS实现json对象数组按对象属性排序操作示例
本文实例讲述了JS实现json对象数组按对象属性排序操作.分享给大家供大家参考,具体如下: 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序. 例如返回的数据结构大概是这样: { result:[ {id:1,name:'中国银行'}, {id:3,name:'北京银行'}, {id:2,name:'河北银行'}, {id:10,name:'保定银行'}, {id:7,name:'涞水银行'} ] } 现在我们根据业务需要,要根据
-
Python实现针对json中某个关键字段进行排序操作示例
本文实例讲述了Python实现针对json中某个关键字段进行排序操作.分享给大家供大家参考,具体如下: 示例: json_array = [{"time":20150312,"value":"c"}, {"time":20150301,"value":"a"}, {"time":20150305,"value":"b"}] js
-
JS深入学习之数组对象排序操作示例
本文实例讲述了JS深入学习之数组对象排序功能.分享给大家供大家参考,具体如下: JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: arrayObject.sort(sortby) 返回值为对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数
随机推荐
- 第10天:自适应高度
- angular实现图片懒加载实例代码
- javascript面向对象之一 定义类
- 易语言基础教程之制作简易浏览器
- iOS 点击图片放大效果的实现
- Java方法反射实现原理详解
- 利用线程实现动态显示系统时间
- PHP 中常量的知识整理
- Zend 输出产生XML解析错误
- PHP 替换模板变量实现步骤
- PHP产生不重复随机数的5个方法总结
- PHP数据库开发知多少
- ASP提速五大技巧
- C#串口通信实现方法
- Android中invalidate()和postInvalidate() 的区别及使用方法
- PHP生成条形图的方法
- phpmyadmin MySQL 加密配置方法
- js实现Select头像选择实时预览代码
- Linux 详解 /var/log/xferlog的各个字段解析
- c++中map的基本用法和嵌套用法实例分析