这是PHP手册上的例子,是用uksort做示范的,主要是让大家知道这个cmp_function怎么写:function cmp ($a, $b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}$a = array (4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");uksort ($a, "cmp");while (list ($key, $value) = each ($a)) {
echo "$key: $value\n";
}
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}$a = array (4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");uksort ($a, "cmp");while (list ($key, $value) = each ($a)) {
echo "$key: $value\n";
}
解决方案 »
- 6表联合查询,有一个表数据有1万多,访问速度10多秒
- php如何向xml中添加新节点
- 各位会php的加下小滴,想请大家帮忙改个小
- 浏览器问题
- 关于获取windows用户名的问题
- php+sql server 2005 select条件中出现中文 mssql_data_result 没结果 去掉其中的中文条件 就正常 如何解决?
- 我们这里需要招一个php的程序员,不知道在这里提示不是不妥当
- 域名查询中的服务器选择问题(org 不能查询)?
- 关于thinkphp的U方法
- 求助phpstorm的相关问题
- 我是想学php的人,刚开始安装php,各位请帮我
- 刚刚接触php,问个白痴问题:php程序在哪编译?
$ret[1]["teamid"] = 145;
$ret[1]["score"] = 7; // 积分
$ret[1]["m"] = 5; // 赛
$ret[1]["w"] = 2; // 胜
$ret[1]["d"] = 1; // 平
$ret[1]["l"] = 2; // 负
$ret[1]["i"] = 8; // 进球
$ret[1]["o"] = 2; // 失球
... ...
$ret[$i]["teamid"] = 234;
$ret[$i]["score"] = 2;
uasort($ret, 'scoreListCompare');
// 积分排名规则。
function scoreListCompare($ar1, $ar2)
{
// 先看积分
if ($ar1['score']>$ar2['score'])
return -1;
else if ($ar1['score']<$ar2['score'])
return 1;
// 再看净胜球
if (($ar1['i'] - $ar1['o']) > ($ar2['i'] - $ar2['o']))
return -1;
else if (($ar1['i'] - $ar1['o']) < ($ar2['i'] - $ar2['o']))
return 1;
// 再看进球数
if ($ar1['i'] > $ar2['i'])
return -1;
else if ($ar1['i'] < $ar2['i'])
return 1;
return 0;
}