【收藏】php实现二维数组排序
来源:互联网 发布:哪个淘宝搜词软件好 编辑:程序博客网 时间:2024/06/17 02:43
php关于数组操作的函数很多,然而没有一个函数能够对二维数组排序,然而在实现的项目开发过程中有时候我们需要对二维数组排序,那么下面的这段代码就能满足需求了,能很好地对二维数组排序:
<?php/** * Sort an two-dimension array by some level two items use array_multisort() function. * * sysSortArray($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"……) * @author Chunsheng Wang <wwccss@263.net> * @param array $ArrayData the array to sort. * @param string $KeyName1 the first item to sort by. * @param string $SortOrder1 the order to sort by("SORT_ASC"|"SORT_DESC") * @param string $SortType1 the sort type("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING") * @return array sorted array. */function sysSortArray($ArrayData, $KeyName1, $SortOrder1 = "SORT_ASC", $SortType1 = "SORT_REGULAR") { if (!is_array($ArrayData)) { return $ArrayData; } // Get args number. $ArgCount = func_num_args(); // Get keys to sort by and put them to SortRule array. for ($I = 1; $I < $ArgCount; $I++) { $Arg = func_get_arg($I); if (!eregi("SORT", $Arg)) { $KeyNameList[] = $Arg; $SortRule[] = '$' . $Arg; } else { $SortRule[] = $Arg; } } // Get the values according to the keys and put them to array. foreach ($ArrayData AS $Key => $Info) { foreach ($KeyNameList AS $KeyName) { ${$KeyName}[$Key] = $Info[$KeyName]; } } // Create the eval string and eval it. $EvalString = 'array_multisort(' . join(",", $SortRule) . ',$ArrayData);'; eval($EvalString); return $ArrayData;}//################# 示例 #################$arr = array( array( 'name' => '学习', 'size' => '1235', 'type' => 'jpe', 'time' => '1921-11-13', 'class' => 'dd', ), array( 'name' => '中国功夫', 'size' => '153', 'type' => 'jpe', 'time' => '2005-11-13', 'class' => 'jj', ), array( 'name' => '编程', 'size' => '35', 'type' => 'gif', 'time' => '1997-11-13', 'class' => 'dd', ), array( 'name' => '中国功夫', 'size' => '65', 'type' => 'jpe', 'time' => '1925-02-13', 'class' => 'yy', ), array( 'name' => '中国功夫', 'size' => '5', 'type' => 'icon', 'time' => '1967-12-13', 'class' => 'rr', ),);print_r($arr);//注意:按照数字方式排序时 153 比 65 小$temp = sysSortArray($arr, "name", "SORT_ASC", "type", "SORT_DESC", "size", "SORT_ASC", "SORT_STRING");print_r($temp);?>
- 【收藏】php实现二维数组排序
- php二维数组排序实现
- PHP array_multisort实现二维数组排序
- PHP 二维数组排序
- PHP二维数组排序
- php二维数组排序
- PHP 二维数组排序
- php 二维数组排序
- php二维数组排序
- php二维数组排序
- php 二维数组排序
- PHP 二维数组排序
- php二维数组排序
- PHP 二维数组排序
- php二维数组排序
- PHP 二维数组排序
- php 二维数组排序
- PHP二维数组排序
- Android组件详解
- Android培训---终止和重启Activity
- TWaver 为电信运营支撑系统(OSS)的开发提供“一站式”的组件产品和解决方案,是快速设计、开发和部署OSS的利器
- 学完C语言做了一个简单的“管理系统”!
- library修改后必须重新烧些fw,否则不起作用
- 【收藏】php实现二维数组排序
- VMWARE ubuntu 12.04 共享文件夹hgfs无效的解决方式
- Ogre动画系统回顾
- IBM:这 20 大梦幻般技术 5 年内有望实现
- 写在‘末日’之前
- Windows 8 之父明年春天将重返哈佛执教
- vc 做的录音机
- 后台自动化发布方案
- 程序员们,到了背起你的行囊的时候了!