PHP: 二维数组按指定列排序
Wednesday, 14. November 2007, 08:27:14
<?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));
?>