Dar*_*ric 3 php arrays sorting
我曾尝试排序如下阵列,以保持在顶部,从排序的顺序,甚至价值观asc,以desc
$array = array(1,2,3,4,5,6,7,8,9,10);
Run Code Online (Sandbox Code Playgroud)
我试过这个来排序数组
usort($array, function($a, $b) {
if ($a % 2 == 0 )
{
return 1 ;
}
else
{
return -1;
}
}
);
Run Code Online (Sandbox Code Playgroud)
我得到了如下的输出
Array
(
[0] => 7
[1] => 9
[2] => 1
[3] => 5
[4] => 3
[5] => 2
[6] => 4
[7] => 6
[8] => 8
[9] => 10
)
Run Code Online (Sandbox Code Playgroud)
我想要输出数组
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
[5] => 1
[6] => 3
[7] => 5
[8] => 7
[9] => 9
)
Run Code Online (Sandbox Code Playgroud)
偶数和奇数值应按asc到desc顺序排序,但将偶数值保持在奇数值之上
usort是不是稳定的.文件说明:
如果两个成员比较相等,则它们在排序数组中的相对顺序是未定义的.
那么,你能做的是:
usort($array, function($a, $b) {
if ($a % 2 == $b % 2) {
return intval($a - $b);
}
elseif ($a % 2 == 0 )
{
return -1 ;
}
else
{
return 1;
}
}
);
Run Code Online (Sandbox Code Playgroud)
如果两者都是偶数或两者都是奇数,则比较实际值.
| 归档时间: |
|
| 查看次数: |
1428 次 |
| 最近记录: |