为了账号安全,请及时绑定邮箱和手机立即绑定

请帮我解释一下这代码/谢谢

请帮我解释一下这代码/谢谢

白衣非少年 2022-11-18 22:18:56
<?phpfunction cmp($a, $b) //定义一个CMP函数,{if ($a == $b) {  return 0;}return ($a < $b) ? -1 : 1;  //$a形参小与$b形吗? 如果小于返回-1 这里为什么会是-1? 如果不小于返回1,1和-1是什么意思? }$a = array(3, 2, 5, 6, 1);usort($a, "cmp"); //是不是CMP函数的返回值返回到这里? foreach ($a as $key => $value) {echo "$key: $value\n";}?> 
查看完整描述

1 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

这个cmp函数返回值的0、负数、正数是系统规定的,你可以使用-1和1,也可以使用-2和3。usort排续时候,它不比较数组里面元素的大小,而是调用你自己定义的cmp函数进行比较,你的cmp比较函数必须在第一个参数被认为小于、等于或大于第二个参数时,分别返回一个小于、等于或大于零的整数。 

查看完整回答
反对 回复 2022-11-22
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信