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

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

相关文章

中国站长站 For Dede4.0 采集规则

转载请注明出自落伍im286.com,本贴地址:http://www.im286.com/viewthread.php?tid=1991813 只差两分就落伍了,特献出中国站长站&nbs...

解析dedeCMS验证码的实现代码

如下所示:复制代码 代码如下:<?php$rndstring = '';for($i=0; $i<4; $i++) $rndstring .= chr(mt_rand(65,...

php生成验证码函数

php生成验证码函数

php生成验证码的函数,实用靠谱。先上下生成的验证码的效果图(这里生成的是全数字的验证码的示例效果): 下面是php生成验证码的源码: <?php sessio...

php网页后退不再出现过期

<?php  ob_start();  if(function_exists(session_cache_limiter)) { sessi...

java EJB 加密与解密原理的一个例子

加密与解密原理的一个例子 package lockunlock;  import Java.awt.*;  import java.aw...