PHP 多列排序,不需要整天构建列数组.
来源:互联网 发布:java actionperformed 编辑:程序博客网 时间:2024/05/21 11:32
PHP 多列排序,不需要整天构建列数组.
/** * 根据指定的键对数组排序 * * 用法: * $rows = array( * array('id' => 1, 'value' => '1-1', 'parent' => 1), * array('id' => 2, 'value' => '2-1', 'parent' => 1), * array('id' => 3, 'value' => '3-1', 'parent' => 1), * array('id' => 4, 'value' => '4-1', 'parent' => 2), * array('id' => 5, 'value' => '5-1', 'parent' => 2), * array('id' => 6, 'value' => '6-1', 'parent' => 3), * ); * * $rows = sortByCol($rows, 'id', SORT_DESC); * dump($rows); * // 输出结果为: * // array( * // array('id' => 6, 'value' => '6-1', 'parent' => 3), * // array('id' => 5, 'value' => '5-1', 'parent' => 2), * // array('id' => 4, 'value' => '4-1', 'parent' => 2), * // array('id' => 3, 'value' => '3-1', 'parent' => 1), * // array('id' => 2, 'value' => '2-1', 'parent' => 1), * // array('id' => 1, 'value' => '1-1', 'parent' => 1), * // ) * * @param array $array 要排序的数组 * @param string $keyname 排序的键 * @param int $dir 排序方向 * @return array 排序后的数组 */function sortByCol($array, $keyname, $dir = SORT_ASC) { return sortByMultiCols ( $array, array ($keyname => $dir) );}/** * @desc 将一个二维数组按照多个列进行排序,类似 SQL 语句中的 ORDER BY<br/> * 用法:<br/> * $rows = sortByMultiCols($rows, array(<br/> * 'parent' => SORT_ASC, <br/> * 'name' => SORT_DESC,<br/> * ));<br/> * @param array $rowset 要进行排序的源数组 * @param array $args 排序规则,例如array('parent' => SORT_ASC,'name' => SORT_DESC)); * @return array */function sortByMultiCols($rowset, $args) { $sortArray = array (); $sortRule = ''; foreach ( $args as $sortField => $sortDir ) { foreach ( $rowset as $offset => $row ) { $sortArray [$sortField] [$offset] = $row [$sortField]; } $sortRule .= '$sortArray[\'' . $sortField . '\'], ' . $sortDir . ', '; } if (empty ( $sortArray ) || empty ( $sortRule )) { return $rowset; } eval ( 'array_multisort(' . $sortRule . '$rowset);' ); return $rowset;}
阅读全文
0 0
- PHP 多列排序,不需要整天构建列数组.
- php 二维数组按照某列排序
- php二维数组按指定列排序
- 二维数组列排序
- 针对二维数组,实现多列排序
- php 使用多维数组中的某一列值排序
- 二维数组的列排序
- 二维数组的列排序
- 二维数组的列排序
- 二维数组的列排序
- 二维数组的列排序
- 二维数组的列排序
- 二维数组排序--指定数组列排序
- 多列排序
- 多列快速排序
- GridView多列排序
- mshflexgrid多列排序
- MSHFlexGrid多列排序
- JAVA导出excel表格
- Python学习笔记之常用的内置函数
- hdu1004 -Let the Balloon Rise
- TCP/IP之IP协议(网际协议)
- java中的static
- PHP 多列排序,不需要整天构建列数组.
- 重写ViewPager实现Android导航栏
- JNI开发之访问java对象非静态属性和静态属性
- require.js的基本用法
- 学习笔记2017.07.03-day1,pm-HTML属性-HTML标题-HTML注释-HTML段落-HTML
- ubuntu postgresql 安装 数据存储路径更改
- Hbase性能测试2, 预分区
- Servlet的线程安全
- 按照单词的字母是否相同对字符串数组进行分组