PHP实现的自定义数组排序函数与排序类示例

 更新时间:2016年11月18日 08:50:54   作者:栁罗风尘  
这篇文章主要介绍了PHP实现的自定义数组排序函数与排序类,结合实例形式分析了php自定义二维数组排序函数与排序类的相关实现技巧,需要的朋友可以参考下

本文实例讲述了PHP实现的自定义数组排序函数与排序类。分享给大家供大家参考,具体如下:

/*
* 二维数组自定义排序函数
* uasort($arr,function_name)
*
**/
$arr = array(
  array('a'=>1,'b'=>'c'),
  array('a'=>4,'b'=>'a'),
  array('a'=>5,'b'=>'g'),
  array('a'=>7,'b'=>'f'),
  array('a'=>6,'b'=>'e')
);
function compare_arr($x,$y){
  if($x['b']<$y['b']){
    return -1;
  }else if($x['b']>$y['b']){
    return 1;
  }else{
    return 0;
  }
}
uasort($arr,'compare_arr');
foreach($arr as $a){
  echo $a['a'].'=>'.$a['b'].'<br/>';
}

手册里的自定义排序类:

class multiSort
{
   var $key;  //key in your array
   //排序函数 参数依次是 数组 待排列索引 排序类型
   function run ($myarray, $key_to_sort, $type_of_sort = '')
   {
     $this->key = $key_to_sort;
     if ($type_of_sort == 'desc')
       uasort($myarray, array($this, 'myreverse_compare'));
     else
       uasort($myarray, array($this, 'mycompare'));
     return $myarray;
   }
   //正序
   function mycompare($x, $y)
   {
     if ( $x[$this->key] == $y[$this->key] )
       return 0;
     else if ( $x[$this->key] < $y[$this->key] )
       return -1;
     else
       return 1;
   }
   //逆序
   function myreverse_compare($x, $y)
   {
     if ( $x[$this->key] == $y[$this->key] )
       return 0;
     else if ( $x[$this->key] > $y[$this->key] )
       return -1;
     else
       return 1;
   }
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《php字符串(string)用法总结》、《PHP针对XML文件操作技巧总结》、《PHP错误与异常处理方法总结》、《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • 浅谈PHP中的<<<运算符

    浅谈PHP中的<<<运算符

    本文给大家介绍的是PHP中提供了<<<运算符的使用方法,非常的简单,有需要的小伙伴可以参考下
    2016-04-04
  • php格式输出文件var_export函数实例

    php格式输出文件var_export函数实例

    这篇文章主要介绍了php格式输出文件var_export函数,以实例形式讲述了格式输出函数var_export的特性与具体用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • php下一个阿拉伯数字转中文数字的函数

    php下一个阿拉伯数字转中文数字的函数

    php下一个阿拉伯数字转中文数字的函数...
    2007-07-07
  • PHP终止脚本运行三种实现方法详解

    PHP终止脚本运行三种实现方法详解

    这篇文章主要介绍了PHP终止脚本运行三种实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • ThinkPHP中RBAC类的四种用法分析

    ThinkPHP中RBAC类的四种用法分析

    这篇文章主要介绍了ThinkPHP中RBAC类的四种用法,较为详细的分析了登陆控制器及公共控制器中的常见用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • php5.3不能连接mssql数据库的解决方法

    php5.3不能连接mssql数据库的解决方法

    这篇文章主要介绍了php5.3不能连接mssql数据库的解决方法,针对php5.3之后不支持mssql_connect函数提供了对应的解决方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php 使用file_get_contents读取大文件的方法

    php 使用file_get_contents读取大文件的方法

    本文介绍了在php中使用file_get_contents函数读取大文件的方法,并附上了示例以及使用小技巧,非常的实用,这里推荐给大家
    2014-11-11
  • PHP中的str_repeat函数在JavaScript中的实现

    PHP中的str_repeat函数在JavaScript中的实现

    PHP中有一个函数:String str_repeat($str, num);挺好用的,在 本文为大家介绍下次函数在js中的实现,感兴趣的朋友可以参考下
    2013-09-09
  • php解决DOM乱码的方法示例代码

    php解决DOM乱码的方法示例代码

    最近在工作的时候遇到一个问题,在使用DOM的时候,发现了乱码的问题,后来通过查找网上的资料终于解决了,现在将解决的方法分享给大家,感兴趣的朋友们可以参考借鉴,有需要的朋友们下面来一起学习学习吧。
    2016-11-11
  • PHP获取数组表示的路径方法分析【数组转字符串】

    PHP获取数组表示的路径方法分析【数组转字符串】

    这篇文章主要介绍了PHP获取数组表示的路径,结合实例形式对比分析了数组转字符串的实现技巧,需要的朋友可以参考下
    2017-09-09

最新评论