龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

[转]php二维数组按指定列排序

时间:2013-01-16 15:24来源:未知 作者:admin 点击:
分享到:
http://www6.webng.com/seaboat/article.asp?id=660 ?php /** * * 二维数组按指定列排序 * @param $arr_data 原数组 * @param $field 指定列 * @param $descending 是否降顺(默认升顺) * @return 排列好的数组 **/ functio

http://www6.webng.com/seaboat/article.asp?id=660

<?php

/**
 * 
 * 二维数组按指定列排序
 * @param $arr_data 原数组
 * @param $field 指定列
 * @param $descending 是否降顺(默认升顺)
 * @return 排列好的数组
**/
function ARRAY_sort_by_field($arr_data, $field, $descending = false)
{
 $arrSort = array();
 foreach ( $arr_data as $key => $value ) {
 $arrSort[$key] = $value[$field];
 }

 if( $descending ) {
 arsort($arrSort);
 } else {
 asort($arrSort);
 }

 $resultArr = array();
 foreach ($arrSort as $key => $value ) {
 $resultArr[$key] = $arr_data[$key];
 }

 return $resultArr;
}

//测试:
$arr = array (
  array ('s' => 'aaa', 'i' => 3),
  array ('s' => 'bbb', 'i' => 2),
  array ('s' => 'ccc', 'i' => 4),
  array ('s' => 'ddd', 'i' => 1),
);

print_r(ARRAY_sort_by_field($arr, 'i'));
print_r(ARRAY_sort_by_field($arr, 'i', true));
?>
精彩图集

赞助商链接