如何在以下函数中切换升序/降序之间的排序顺序?它所做的只是按所选字段对多维数组进行排序,然后按标题排序。
$sortby = 'date';
$orderby = 'asc';
function sort($a, $b)
{
$retval = strnatcmp($a[$sortby], $b[$sortby]);
if(!$retval) return strnatcmp($a['title'], $b['title']);
return $retval;
}
uasort($jobs, 'sort');
答案 0 :(得分:0)
没有反向选项 - 您必须创建一个新的排序函数,它返回排序函数的负数。
简单但效率低下:
function rsort($a, $b)
{
return -1 * sort($a, $b);
}
答案 1 :(得分:0)
<?php
// Comparison function
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a>$b) ? -1 : 1;
}
// Array to be sorted
$array = array('a' => 5.2, 'b' => 2.2, 'c' => 1.2, 'd' => 1.2,'f' => 5.5, 'g' => 1.2, 'h' => 6.2);
print_r($array);
// Sort and print the resulting array
uasort($array, 'cmp');
print_r($array);
?>