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

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; 

 }

时间: 2024-09-14 18:27:03

php二维数组排序与默认自然排序的方法介绍_php实例的相关文章

php自定义函数实现二维数组按指定key排序的方法_php技巧

本文实例讲述了php自定义函数实现二维数组按指定key排序的方法.分享给大家供大家参考,具体如下: 二维数组官方的排序方法并不好,该函数可以进行指定key的排序,已经测试并使用,代码如下: /*二维数组按指定的键值排序*/ function array_sort($arr, $keys, $type = 'desc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$ke

PHP 二维数组根据某个字段排序的具体实现_php技巧

本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求. 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 遇到这个要求的时候就不是 ORDER BY 能解决的问题了.因此翻看 PHP 手册查找到了如下方法,做此笔记. 废话少说,奉上代码,清单如下: 复制代码 代码如下: <?php /** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author r

PHP在线生成二维码(google api)的实现代码详解_php实例

通过google在线生成二维码的api在线生成二维码. 代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

PHP获取二维数组中某一列的值集合_php实例

PHP还是比较常用的,于是我研究了一下PHP二维数组.在处理php数组的时候,有一种需求特别的频繁,如下二维数组: $arr = array( 1=>array( 'id' => 5, 'name' => '张三' ), 2=>array( 'id' => 6, 'name' => '李四' ) ); 目的就是要取到key为name的集合,得到这个结果: $arr2 = array( 0=>'张三', 1=>'李四' ); 这里有几种方法: 1:最简单的,f

js二维数组排序的简单示例代码

 本篇主要是对js二维数组排序的简单示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 如下所示:    代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>  <head>   <title> New Document <

PHP二维数组排序的3种方法和自定义函数分享

 这篇文章主要介绍了PHP二维数组排序的3种方法和自定义函数分享,需要的朋友可以参考下 关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处理较多的就是数组,因为有非常丰富的内置函数库(其实对象一定程度上也可以理解为是数组),这些函数库很大程度上可以帮助我们实现某些功能.常用的系统函数有sort.asort.arsort.ksort.krsort等等

PHP二维数组排序的函数分享

二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:    代码:   代码如下: functionarray_sort($arr,$keys,$type='asc'){  $keysvalue= $new_array= array();  foreach($arras$k=>$v){  $keysvalue[$k] = $v[$keys];  }  if($typ

js sort 二维数组排序的用法小结

 我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数组排序要如何做呢 最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的测试,js内置方法sort的效率非常高   我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数

一个PHP二维数组排序的函数分享_php技巧

二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数: 代码: 复制代码 代码如下: functionarray_sort($arr,$keys,$type='asc'){ $keysvalue= $new_array= array(); foreach($arras$k=>$v){ $keysvalue[$k] = $v[$keys]; } if($type== '