我想根据用户的选择对数组进行排序,我已经成功地完成了所有操作(在你们一些人的帮助下),现在我正在尝试清理代码。以下是我的代码:
//Global Sorting Functions (For Rows to Columns)
//Function to sort up or down
function cmpdwn($a, $b) {
return strcasecmp($a["Name"], $b["Name"]);
}
function cmpup($a, $b, $c) {
return strcasecmp($b[$c], $a[$c]);
}
//Name Ordering Function ---------------------------------
function nameorder($data) {
//If Up sorts Assending if Down Decending
if ($_POST['Sortby'] == "NameDown") {
uasort($data, "cmpdwn");
} else {
uasort($data, "cmpup");
}
$nameorder = array();
$count = 0;
while (list($key, $value) = each($data)) {
$nameorder[$count] = $key;
$count++;
}
return $nameorder;
}
这将创建一个数组,以便按名称顺序打印数据。我还想重复这个过程以获取电子邮件和其他信息。我的想法是通过将更多的$a和$b放入(即 $c =“Name”,然后我可以放入“Email”或任何// cmpup作为示例)来重复使用“cmp”函数。但是据我所知,这个函数正在为uasort声明参数,并且我没有将变量送入其中的方法。是否有一种方法可以这样做,还是必须反复重写该函数?
谢谢 爱你哟