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实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法

    PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法

    这篇文章主要介绍了PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法,涉及php根据各个网站的网址规则针对URL地址的正则匹配与转换相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • php将字符串随机分割成不同长度数组的方法

    php将字符串随机分割成不同长度数组的方法

    这篇文章主要介绍了php将字符串随机分割成不同长度数组的方法,涉及随机数及字符串操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • php使用PDO操作MySQL数据库实例

    php使用PDO操作MySQL数据库实例

    这篇文章主要介绍了php使用PDO操作MySQL数据库,实例分析了PDO的开启与针对MySQL数据库的增删改查等基本操作方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php curl发送请求实例方法

    php curl发送请求实例方法

    在本篇文章里小编给大家整理的是关于php curl发送请求详细教程以及相关知识点,需要的朋友们可以学习下。
    2019-08-08
  • 通过具体程序来理解PHP里面的抽象类

    通过具体程序来理解PHP里面的抽象类

    面向对象程序通过类的分层结构构建起来. 在单重继承语言如PHP中, 类的继承是树状的. 一个根类有一个或更多的子类,再从每个子类继承出一个或更多下一级子类.
    2010-01-01
  • cmd下运行php脚本

    cmd下运行php脚本

    cmd下运行php脚本的方法好多朋友感觉很奇怪,其实就是脚本
    2008-11-11
  • PHP持久连接mysql_pconnect()函数使用介绍

    PHP持久连接mysql_pconnect()函数使用介绍

    mysql_pconnect()函数可以大大的提高MYSQL效率,不过,此连接不自动关闭,也会造成一些问题,请注意将不用的连接即时关闭,以避免不必要的错误发生
    2012-02-02
  • php源码的使用方法讲解

    php源码的使用方法讲解

    在本篇文章里小编给大家分享了关于php源码怎么使用的知识点内容,有此需要的朋友们可以参考下。
    2019-09-09
  • php中count获取多维数组长度的方法

    php中count获取多维数组长度的方法

    这篇文章主要介绍了php中count获取多维数组长度的方法,实例分析了数组的原理并总结了数组长度计算的方法,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • PHP从FLV文件获取视频预览图的方法

    PHP从FLV文件获取视频预览图的方法

    这篇文章主要介绍了PHP从FLV文件获取视频预览图的方法,实例分析了php操作flv文件获取截图的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03

最新评论