PHP二维数组排序简单实现方法
本文实例讲述了PHP二维数组排序简单实现方法。分享给大家供大家参考,具体如下:
function multi_compare($a, $b)
{
$val_arr = array(
'gold'=>'asc',
'silver'=>'desc'//还可以增加额外的排序条件
);
foreach($val_arr as $key => $val){
if($a[$key] == $b[$key]){
continue;
}
return (($val == 'desc')?-1:1) * (($a[$key] < $b[$key]) ? -1 : 1);
}
return 0;
}
$arr = array(
array('gold'=>1, 'silver'=>2),
array('gold'=>8, 'silver'=>10),
array('gold'=>8, 'silver'=>8),
array('gold'=>2, 'silver'=>1),
);
uasort($arr, 'multi_compare');
print_r($arr);
运行结果如下:
Array
(
[0] => Array
(
[gold] => 1
[silver] => 2
)
[3] => Array
(
[gold] => 2
[silver] => 1
)
[1] => Array
(
[gold] => 8
[silver] => 10
)
[2] => Array
(
[gold] => 8
[silver] => 8
)
)
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php排序算法总结》、《PHP基本语法入门教程》、《PHP错误与异常处理方法总结》及《php常用函数与技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php二维数组排序方法(array_multisort usort)
例如像下面的数组: 复制代码 代码如下: $users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22)); 希望能按照age从小到大进行排序.笔者整理了两个方法出来,分享给大家. 1.使用array_multisort 使用这个方法,会比较麻烦些,要将age
-
PHP 多维数组的排序问题 根据二维数组中某个项排序
PHP内置函数 array_multisort 要求每个数组大小一样 $areas是地区的二维数组,包含人数和次数,现在要按这2种数进行降序排序 复制代码 代码如下: foreach($areaArray as &$areas) { $times = $numbers = array(); foreach($areas as $province => $v) { $times[$province] = $v['times']; $numbers[$province] = $v['number
-
php中二维数组排序问题方法详解
PHP中二维数组排序,可以使用PHP内置函数uasort() 示例一: 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 回调函数如下:注意回调函数的返回值是负数或者是false的时候,表示回调函数的第一个参数在前,第二个参数在后排列 $person = array( array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21), array('num'=>'001','id'=>7,'name'=>'
-
PHP二维数组排序的3种方法和自定义函数分享
关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处理较多的就是数组,因为有非常丰富的内置函数库(其实对象一定程度上也可以理解为是数组),这些函数库很大程度上可以帮助我们实现某些功能.常用的系统函数有sort.asort.arsort.ksort.krsort等等,这里我主要说下对二维数组的排序,两种方法: 一.用PHP自带array_multiso
-
php对二维数组进行相关操作(排序、转换、去空白等)
技巧提示: array_keys($array) //返回所有键名 array_values($array) //返回所有键值 $result=array_reverse($input); //将数组颠倒,不保留键名 $result_keyed=array_reverse($input,true); //将数组颠倒,保留键名 array_keys($array,"blue"); //返回值为blue的键名 1. PHP二维数组去重复项函数 PHP数组去除重复项有个内置函数array_
-
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
一.冒泡排序 复制代码 代码如下: //冒泡排序function bubble_sort($array){ $count=count($array); if($count <= 0){ return false; } for($i=0;$i<$count;$i++){ for($j=0;$j<$count-$i-1;$j++){ if( $array[$j] > $array[$j+1] ){
-
php二维数组排序与默认自然排序的方法介绍
php二维数组排序函数,默认自然排序,即sort排序.这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释. 复制代码 代码如下: /** * @function 二维数组自然排序 * @author www.phpernote.com * @param array $array 需要排序的数组(二维) * @param string key 需要根据哪个键排序 * @param string order 排序方式(SORT_ASC,SORT_DESC) * @param st
-
PHP实现二维数组根据key进行排序的方法
本文实例讲述了PHP实现二维数组根据key进行排序的方法.分享给大家供大家参考,具体如下: 在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来对自己的想法进行实现.下面就讲述一下如何实现二维数组根据key进行排序. 实现方法: <?php /** * ======================================= * Created
-
php对二维数组进行排序的简单实例
本文介绍下,php中使用array_multisort函数进行二维数组排序的例子,有需要的朋友,参考下吧.继上一篇文章:PHP二维数组排序自定义函数,今天,我们再介绍一个php二维数组排序的例子.php对二维数组的排序很简单,主要用到array_multisort函数.例子: 复制代码 代码如下: <?php /** * php二维数组排序 * edit www.jb51.net*/ $data = array(); $data[] = array('volume' => 67
-
php二维数组排序详解
有时候为了达到一定目的,需要对二维数组进行排序,现分享一下其实现的方法. 复制代码 代码如下: $arr=array ('1' => array ( 'date' => '2011-08-18', 'num' => 5 ) ,'2' => array ( 'date' => '2011-08-20', 'num' => 3 ) ,'3' => array ( 'date' => '2011-08-17', 'num' => 10 ) ) ; $res
-
PHP按指定键值对二维数组进行排序的方法
本文实例讲述了PHP按指定键值对二维数组进行排序的方法.分享给大家供大家参考,具体如下: 问题: 有数组: 复制代码 代码如下: array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60)); 要求根据数组的price这个字段进行排序. 实现代码如下: <?php $array[] = array('id'=>1,'price'=>50); $array[] = array('id
随机推荐
- VB返回记录集结果到HTML表格的方法
- mongoose设置unique不生效问题的解决及如何移除unique的限制
- JavaScript实现实时更新系统时间的实例代码
- .net自定义事件示例分享
- zf框架的校验器使用使用示例(自定义校验器和校验器链)
- thinkPHP自定义类实现方法详解
- php面向对象全攻略 (十四) php5接口技术
- asp和php页面全面封杀WVS扫描器的代码
- Shell脚本实现自动检测修改最快的Ubuntu软件源
- sqlserver 中时间为空的处理小结
- 在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装
- 一段实现页面上的图片延时加载的js代码
- C++面试题之数a、b的值互换(不使用中间变量)
- PHP中的随机性 你觉得自己幸运吗?
- C# 泛型的约束
- c语言 字符串转大写的简单实例
- C++实现判断一个字符串是否为UTF8或GBK格式的方法
- jquery根据name取得select选中的值实例(超简单)
- python判断一个集合是否为另一个集合的子集方法
- Java微信公众平台之素材管理
