Array
(
[0] => Array
(
[rework_rate] =>
[username] => 张三
) [1] => Array
(
[rework_rate] => 0.7
[username] => 李四
) [2] => Array
(
[rework_rate] => 0.1
[username] => srj
) [3] => Array
(
[rework_rate] => 0.2
[username] => zjl
) [4] => Array
(
[rework_rate] => 0.11
[username] => qjw
) [5] => Array
(
[rework_rate] => 0.44
[username] => zhj
))根据rework_rate 降序排列
(
[0] => Array
(
[rework_rate] =>
[username] => 张三
) [1] => Array
(
[rework_rate] => 0.7
[username] => 李四
) [2] => Array
(
[rework_rate] => 0.1
[username] => srj
) [3] => Array
(
[rework_rate] => 0.2
[username] => zjl
) [4] => Array
(
[rework_rate] => 0.11
[username] => qjw
) [5] => Array
(
[rework_rate] => 0.44
[username] => zhj
))根据rework_rate 降序排列
<?php
$arr = array(
'0' => array(
'rework_rate' => '' ,
'username' => '张三',
),
'1' => array(
'rework_rate' => 0.7,
'username' => '李四',
), '2' => array(
'rework_rate' => 0.1,
'username' => 'srj',
), '3' => array(
'rework_rate' => 0.2,
'username' => 'zjl',
), '4' => array(
'rework_rate' => 0.11,
'username' => 'qjw',
), '5' => array(
'rework_rate' => 0.44,
'username' => 'zhj'
));foreach($arr as $v){
$k[] = $v['rework_rate'];
}
array_multisort($k,SORT_DESC,$arr);
print_r($arr);
?>结果:
Array
(
[0] => Array
(
[rework_rate] => 0.7
[username] => 李四
)
[1] => Array
(
[rework_rate] => 0.44
[username] => zhj
)
[2] => Array
(
[rework_rate] => 0.2
[username] => zjl
)
[3] => Array
(
[rework_rate] => 0.11
[username] => qjw
)
[4] => Array
(
[rework_rate] => 0.1
[username] => srj
)
[5] => Array
(
[rework_rate] =>
[username] => 张三
)
)
$keysvalue = array ();
$i = 0;
foreach ( $arr as $key => $val ) {
$val [$keys] = str_replace ( "-", "", $val [$keys] );
$val [$keys] = str_replace ( " ", "", $val [$keys] );
$val [$keys] = str_replace ( ":", "", $val [$keys] );
$keysvalue [] = $val [$keys];
}
asort ( $keysvalue ); //key值排序
reset ( $keysvalue ); //指针重新指向数组第一个
foreach ( $keysvalue as $key => $vals ) {
$keysort [] = $key;
}
$new_array = array ();
if ($type != "asc") {
for($ii = count ( $keysort ) - 1; $ii >= 0; $ii --) {
$new_array [] = $arr [$keysort [$ii]];
}
} else {
for($ii = 0; $ii < count ( $keysort ); $ii ++) {
$new_array [] = $arr [$keysort [$ii]];
}
}
return $new_array;
}