【发布时间】:2013-02-08 07:36:16
【问题描述】:
我尝试对下面的数组进行排序,以将偶数值保持在顶部,并按从 asc 到 desc 的排序顺序
$array = array(1,2,3,4,5,6,7,8,9,10);
我试过这个对数组进行排序
usort($array, function($a, $b) {
if ($a % 2 == 0 )
{
return 1 ;
}
else
{
return -1;
}
}
);
我得到如下输出
Array
(
[0] => 7
[1] => 9
[2] => 1
[3] => 5
[4] => 3
[5] => 2
[6] => 4
[7] => 6
[8] => 8
[9] => 10
)
我希望输出数组是
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
[5] => 1
[6] => 3
[7] => 5
[8] => 7
[9] => 9
)
偶数和奇数应该按从高到低的顺序排列,但要保持偶数在奇数之上
【问题讨论】:
-
所以也许你意识到你的回调函数中的返回值被颠倒了;但您还需要二次检查以升序排列偶数和升序排列赔率
-
@MarkBaker:我不知道该怎么做。我不知道如何在回调中编码