php二维数组排序与默认自然排序的方法介绍


Posted in PHP onApril 27, 2013

php二维数组排序函数,默认自然排序,即sort排序。这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释。

/**  
  * @function 二维数组自然排序  
  * @author www.phpernote.com  
  * @param array $array 需要排序的数组(二维)  
  * @param string key 需要根据哪个键排序  
  * @param string order 排序方式(SORT_ASC,SORT_DESC)  
  * @param string type 排序方法(SORT_REGULAR,SORT_NUMERIC,SORT_STRING)  
  * @return array sorted array.  
  */ 
 function phpSortArray($array,$key,$order="SORT_ASC",$type="SORT_REGULAR"){  
     if(!is_array($array)||empty($$array)){  
         return $array;  
     }  
     $ArgCount=func_num_args();//返回传递到目前定义函数的参数数目  
     for($I=1;$I<$ArgCount;$I++){  
         $Arg=func_get_arg($I);  
         if(!eregi("SORT",$Arg)){  
             $KeyNameList[]=$Arg;  
             $SortRule[]='$'.$Arg;  
         }else{  
             $SortRule[]=$Arg;  
         }  
     }  
     foreach($array AS $Key=>$Info){  
         foreach($KeyNameList as $KeyName){  
             ${$KeyName}[$Key]=$Info[$KeyName];  
         }  
     }  
     $EvalString='array_multisort('.join(",",$SortRule).',$array);';  
     eval($EvalString);  
     return $array;  
 }

PHP 相关文章推荐
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
Joomla下利用configuration.php存储简单数据
May 19 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
php parse_str() 函数的定义和用法
May 23 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
PHP图片水印类的封装
Jul 06 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
PhpSpreadsheet设置单元格常用操作汇总
Nov 13 PHP
使用Apache的htaccess防止图片被盗链的解决方法
Apr 27 #PHP
php 模拟get_headers函数的代码示例
Apr 27 #PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 #PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 #PHP
php笔记之:php数组相关函数的使用
Apr 26 #PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 #PHP
php笔记之:文章中图片处理的使用
Apr 26 #PHP
You might like
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php header Content-Type类型小结
2011/07/03 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP实现微信对账单处理
2018/10/01 PHP
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
小程序云开发实战小结
2018/10/25 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
python str与repr的区别
2013/03/23 Python
Python中的自定义函数学习笔记
2014/09/23 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
python 并发下载器实现方法示例
2019/11/22 Python
奇怪的鱼:Weird Fish
2018/03/18 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
公司培训欢迎词
2014/01/10 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
2015年国庆节寄语
2015/08/17 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
Java Spring Lifecycle的使用
2022/05/06 Java/Android