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程序设计有所帮助。

(0)

相关推荐

  • 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 usort 使用用户自定义的比较函数对二维数组中的值进行排序

    今天发现一个很好用二维数组排序的php方法,usort,推荐给大家,以后二维数组里面,要按照一个字段的值排序用这个方法简单高效,例如下面的数组: [guess_subject] => Array ( [0] => Array ( [subject_id] => 4587 [game_id] => 9228 [parent_category_id] => 78 [subject_title] => 全场比赛两队总得分之和是 [subject_date_time] =>

  • PHP实现根据数组某个键值大小进行排序的方法

    本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法.分享给大家供大家参考,具体如下: 问题:针对给定数组的某个键的键值进行排序 解决方法: //$a是排序数组,$b是要排序的数据集合,$result是最终结果 $b = array( array('name'=>'北京','nums'=>'200'), array('name'=>'上海','nums'=>'80'), array('name'=>'广州','nums'=>'150'), array('name'

  • 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函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    本文实例总结了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 function GetNumberOfK($data, $k) { if(count($data)==0){ return 0; } $index = 0; $low = 0; $high = count($data)-1; $middle = 0; //二分查

  • 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实现二维数组根据key进行排序的方法

    本文实例讲述了PHP实现二维数组根据key进行排序的方法.分享给大家供大家参考,具体如下: 在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来对自己的想法进行实现.下面就讲述一下如何实现二维数组根据key进行排序. 实现方法: <?php /** * ======================================= * Created

  • 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) 返回值为对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数

随机推荐