php页面中
//把二维数组中的值按序,可键值不变,再把此数组输出来,如
$arr = array (
'0' => array ( 'num' => 4 ),
'1' => array ( 'num' => 3 ),
'2' => array ( 'num' => 1 ),
'3' => array ( 'num' => 2 ),
);
//按要求应该输出,如下
$arr = array (
'0' => array ( 'num' => 4 ),
'1' => array ( 'num' => 3 ),
'2' => array ( 'num' => 2 ),
'3' => array ( 'num' => 1 ),
);
//这应该如何实现,thanks
//把二维数组中的值按序,可键值不变,再把此数组输出来,如
$arr = array (
'0' => array ( 'num' => 4 ),
'1' => array ( 'num' => 3 ),
'2' => array ( 'num' => 1 ),
'3' => array ( 'num' => 2 ),
);
//按要求应该输出,如下
$arr = array (
'0' => array ( 'num' => 4 ),
'1' => array ( 'num' => 3 ),
'2' => array ( 'num' => 2 ),
'3' => array ( 'num' => 1 ),
);
//这应该如何实现,thanks
//作者 唠叨老大/** 排序键
*/
$cmp_key = "num"; /** 排序用工作函数(降序 由usort()调用)
*/
function _cmp_desc($a,$b) {
global $cmp_key;
if ($a[$cmp_key] == $b[$cmp_key]) return 0;
return ($a[$cmp_key] > $b[$cmp_key]) ? -1 : 1;
} /** 排序用工作函数(升序 由usort()调用)
*/
function _cmp_asc($a,$b) {
global $cmp_key;
if ($a[$cmp_key] == $b[$cmp_key]) return 0;
return ($a[$cmp_key] > $b[$cmp_key]) ? 1 : -1;
}
usort($arr, "_cmp_desc");
print_r($arr);
foreach ($arr as $key => $v) {
$num[$key] = $v['num'];
}
array_multisort($num, SORT_NUMERIC, SORT_DESC, $arr);
print_r($arr);
$arr = array (
'0' => array ( 'num' => 4 ),
'1' => array ( 'num' => 3 ),
'2' => array ( 'num' => 1 ),
'3' => array ( 'num' => 2 ),
);
function mysort($a,$b)
{
if ($a['num'] == $b['num']) return 0;
return ($a['num'] > $b['num']) ? -1 : 1;
}
uasort($arr,mysort);
echo "<pre>";
print_r($arr);
echo "</pre>";结果
Array
(
[0] => Array
(
[num] => 4
) [1] => Array
(
[num] => 3
) [3] => Array
(
[num] => 2
) [2] => Array
(
[num] => 1
))