<?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比较函数必须在第一个参数被认为小于、等于或大于第二个参数时,分别返回一个小于、等于或大于零的整数。
添加回答
举报
0/150
提交
取消