所以如果我在一个对象中有两列
A - >值是10 8 6 4
B - >值是9 7 5 3
我想将B合并为A,其中9低于10,低于7等等。
uasort($TopConsumers,array('Utilities','orderconsumers'));
public static function orderConsumers($TopConsumers)
{
$a = $TopConsumers->outTotal;
$b = $TopConsumers->inTotal;
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : +1;
}
为什么这不起作用?
答案 0 :(得分:3)
您需要先合并数组,然后对它们进行排序。
$merged = array_merge($TopConsumers->outTotal, $TopConsumers->inTotal);
sort($merged);
答案 1 :(得分:0)
您的排序功能需要$ a和$ b作为参数。不是数组本身。
public static function orderConsumers($a, $b)
{
if ($a->outTotal == $b->inTotal) {
return 0;
}
return ($a->outTotal > $b-inTotal) ? -1 : +1;
}
那说按两列排序似乎有点奇怪。我不确定这会给你什么。通常,您会在用户排序函数中比较相同的列名称。