php中那个函数中的return 0 return 1 return -1表示什么意思?请看代码

QA Engineer 2014-07-04 11:24:48
function cmp ($a, $b) {
if ($a == $b) {
return 0;
}
else if($a > $b){
return -1;
}
else{
return 1;
}
}
$a = array (4 => "four", 3 => "three", 20 => "twenty", 10 => "ten",11=>"four");
uksort ($a, "cmp");
while (list ($key, $value) = each ($a)) {
echo "$key: $value\n";
print "<br />";
}
...全文
377 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2014-07-05
  • 打赏
  • 举报
回复
cmp类型的函数是公认的排序匹配接口 2个参数 a 表示目标位置元素 b 表示是否要和a替换的元素 返回0 表示 a b相等 返回-1 表示 a b不需要替换 返回 1 表示 a b需要交换
KK3K2005 2014-07-05
  • 打赏
  • 举报
回复
基本是在排序中用的比较代码 uksort 会使用一种算法 对 一个数组进行排序 但是 他只提供了 排序的主体算法 具体到 2个对象那个大 那个小 或者相等 需要使用者提供 你自己写冒泡 排序 不就是 枚举所有的 元素 然后 22比较 那么 这个 cmp 这个函数 相当与你 22比较 的函数 封装的原因是 很多对象 不能简单的 用 > 号来比较大小

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧