php二维数组自定义排序
$arr = array(
'0' => array('id' =>1,'price'=>200),
'1' => array('id' =>2,'price'=>300),
'2' => array('id' =>3,'price'=>100),
'3' => array('id' =>4,'price'=>120),
'4' => array('id' =>5,'price'=>130),
'5' => array('id' =>6,'price'=>140),
'6' => array('id' =>7,'price'=>150),
'7' => array('id' =>8,'price'=>600),
); //对这个二维数组根据价格的大小进行排序 一.使用array_multisort
$price = array();
foreach ($arr as $v) {
$price[] = $v['price'];
}
array_multisort($price, SORT_DESC, $arr); 二.
使用usort
使用这个方法最大的好处就是可以自定义一些比较复杂的排序方法。
usort($arr, function($a, $b) {
$al = $a['price'];
$bl = $b['price'];
if ($al == $bl)
return 0;
return ($al < $bl) ? -1 : 1;
});
var_dump($arr);
php二维数组自定义排序的更多相关文章
- php 二维数组自定义排序
eg1:只根据一个规则进行排序,比如我下面的数组是一组满减折扣的信息,我要按照满减的金额从小到大排序 代码: <?php $arr =[ ["amount"=> 60, ...
- 代码分享:php对二维数组进行排序
发布:net/PHP编程 编辑:thebaby 2013-06-28 13:12:54 [大 中 小] 转自:http://www.jbxue.com/article/9991.html本文介 ...
- Java 二维数组,排序、切换顺序,查表法二进制十进制,这班查找、排序(冒泡、选择)、遍历,获取最大小值(4)
Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)
- php 二维数组的排序
写这是之前一直二维数组排名困扰.自己写的好复杂. 正题: array_mutisort 官方帮助文档 <?php// 取得列的列表foreach ($data as $key => $ro ...
- Java数组排序基础算法,二维数组,排序时间计算,随机数产生
import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static ...
- 如何使用python来对二维数组进行排序
1.复合排序 直接用numpy的lexsort就可以 import numpy as np data = np.array([[1,2,3,4,5], [1,2,3,6,7], [2,3,4,5,7] ...
- 二维数组sort排序
和副本任务完全无关的奇怪感慨: 完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点. 之前的假期规划在十多天的放飞自我中彻底泡汤,简单的图论都一点不 ...
- 首先定义一个5X8的二维数组,然后使用随机数填充满。借助Arrays的方法对二维数组进行排序。
package day02; import java.util.Arrays; import java.util.Random; public class Test01 { public static ...
- 用PHP自带函数对二维数组进行排序
经常会面临这样的需求,虽然有时候我们可以在数据库查询的时候,直接对数据进行排序,但还是无法满足日益复杂的业务需求. 这里边会用到两个函数 一个是array_column()函数,这个函数接受三个参数. ...
随机推荐
- poj 3670(LIS)
// File Name: 3670.cpp // Author: Missa_Chen // Created Time: 2013年07月08日 星期一 21时15分34秒 #include < ...
- hihoCoder 1549 或运算和
#1549 : 或运算和 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定N个数A1...AN (0 <= Ai < 220) 和一个正整数K,我们用An ...
- php学习笔记8--半边引号引发的问题
前段时间重装了系统,后来说是又要用php,就重新搭建了apache+php+mysql的环境,由于之前搭建过好多次,感觉很easy,很快就搭建完成,然后写了下面的常用的测试环境的代码: <?ph ...
- Spring3.2.11与Quartz2.2.1整合时内存泄漏的问题的解决
Quartz是一款定时任务调度的开源框架,使用起来比较方便.并且Spring的support包对Quartz有集成.但是笔者在web应用使用的过程中却遇到了内存泄漏的问题. 问题的产生 笔者在使用Sp ...
- TFS二次开发-基线文件管理器(5)-源码文件的读取
在上一节中,我们在保存标签之前,已经将勾选的文件路径保存到了Listbox中,这里只需要将保存的数据输出去为txt文档就可以做版本控制了. 版本文件比较复杂的是如何读取,也就是如何通过文件路径 ...
- bat masterNodeRun.bat
C:\> compare C:\> compare C:\>D:\cmd\wphp.bat C:\> compareReq -- :: TODO StartScript -- ...
- PHP-Heredoc用法:<<<EOFEOF;
Heredoc,用来输出大段的HTML和JavaScript <<<EOF后面不能有空格. EOF;末尾的结束符必须靠边,并且前面不能有空格和缩进符. 例如: $mazey=< ...
- 兼容ie的background-size: cover;
.bg{ background: url() no-repeat; background-size:cover; filter: progid:DXImageTransform.Microsoft.A ...
- 数据库质疑修复(SUSPECT)总结,DBCC报错
当SQL SERVER数据库状态为质疑(SUSPECT)状态时,我们可以用以下方法来处理: DBCC报错 1. 修改数据库为紧急模式:ALTER DATABASE DBName SET EMERGEN ...
- Android基础入门教程
http://www.kancloud.cn/wizardforcel/w3school-android/100491