PHP二维数组排序简单实现方法

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

相关文章

推荐一款MAC OS X 下php集成开发环境mamp

推荐一款MAC OS X 下php集成开发环境mamp

之前苦于mac上搭建本地服务器之艰辛,找寻好久都没找到一款类似windows上集成的本地服务器环境,诸如phpstudy,xampp,appserv,虽说xampp也有mac版,但不知为...

PHP缓存集成库phpFastCache用法

本文实例讲述了PHP缓存集成库phpFastCache用法。分享给大家供大家参考。具体分析如下: phpFastCache是一个开源的PHP缓存库,只提供一个简单的PHP文件,可方便集成...

举例详解PHP脚本的测试方法

一、常用测试示例 我们经常会遇到这种情况:将一些没有经过任何测试的遗留代码进行重新编写测试,甚至这些代码还是用面向对象写的。要对这样的代码进行测试,我的建议是把代码分解成块,这样就容易测...

PHP的Yii框架使用中的一些错误解决方法与建议

 此文意在记录 Yii 开发过程中的小问题解决方案,不全面,不权威,不是教程。自己写过,觉得可以解决问题,以后也可能用上,就记记吧。     1....

php最简单的删除目录与文件实现方法

本文实例讲述了php最简单的删除目录与文件实现方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:<?php  //删除目录下所有空目录 &n...