【发布时间】:2015-08-20 04:00:14
【问题描述】:
给了我一个这样的数组:
$input = array(-1,1,3,-2,2, 3,4,-4);
我需要将其排序为负整数在前,正整数在后,并且相对位置不应该改变。所以输出应该是:
$output = array(-1 ,-2,-4, 1,3,2,3,4);
我尝试使用usort,但我无法保留相对位置。
function cmp ($a, $b)
{
return $a - $b;
}
usort($input, "cmp");
echo '<pre>', print_r($input), '</pre>';
Array
(
[0] => -4
[1] => -2
[2] => -1
[3] => 1
[4] => 2
[5] => 3
[6] => 3
[7] => 4
)
【问题讨论】:
-
输出中的-4在哪里?