我有一个名为parentArray()
的数组,它是一个关联数组,键为数字(非有序整数),值可能是也可能不是数组。我有一个foreach()
循环遍历parentArray()
并在html表中输出这样的数据:
foreach ($parentArray as $parentkey => $childArray){
echo "<tr>";
$Usage = some_function1($parentkey);
$schoolUsage = some_function2($parentkey);
echo "<td>".$Usage."</td>";
echo "<td>".$schoolUsage."</td>";
echo "</tr>";
}
我需要按$ Usage的递增顺序对输出表进行排序,如果2行具有相同的$ Usage,那么它应该比较$ schoolUsage并按降序对它们进行排序。关于如何做的任何想法,因为我完全无能为力。请注意,$ Usage和$ schoolUsage是整数。
答案 0 :(得分:0)
看看函数usort()。您可以传递一个自定义函数来执行排序(冒泡排序)。
usort($parentArray, function($element1, $element2) {
if($element1 == $element2) return 0; // elements stay on the same position as before
if$element1 < $element2) {
return -1; // move $element1 before element2
} else {
return 1; // move $element2 before element1
}
});
答案 1 :(得分:0)
我的问题并不完全清楚,但就我所知,你可能需要在php中使用这个内置函数:array_multisort。希望有助于解决您的问题。
快乐编码:)