网站推广.NET

网站推广.NET

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

来源:互联网

这篇文章主要介绍了php实现的自定义数组排序函数与排序类,结合实例形式分析了php自定义二维数组排序函数与排序类的相关实现技巧,需要的朋友可以参考下

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

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

立即学习“PHP免费学习笔记(深入)”;

手册里的自定义排序类:

class multiSort{   var $key;  //key in your array   //排序函数 参数依次是 数组 待排列索引 排序类型   function run ($myarray, $key_to_sort, $type_of_sort = &#39;&#39;)   {     $this->key = $key_to_sort;     if ($type_of_sort == &#39;desc&#39;)       uasort($myarray, array($this, &#39;myreverse_compare&#39;));     else       uasort($myarray, array($this, &#39;mycompare&#39;));     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实现图片的等比缩放和Logo水印功能的方法

PHP实现调用Mailgun发送邮件的方法

PHP+jQuery实现滚屏无刷新动态加载数据功能的方法

立即学习“PHP免费学习笔记(深入)”;

php数组排序