我的冒泡排序非常适合 single array。我如何为多维实现这个array?我想对这个多维数组值进行排序['position']。
代码:
$itemId = $parentTicket[0]['id'];
function bubbleSort(&$arr)
{
$n = sizeof($arr);
for($i = 0; $i < $n; $i++)
{
for ($j = 0; $j < $n - $i - 1; $j++)
{
if ($arr[$j] > $arr[$j+1])
{
$t = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $t;
}
}
}
}
$sql = "SELECT item.id, item.protocol, item.position, item.subject_item, item.type, item.responsible, item.INSDATE, item.body, pp.participant, p.subject, p.status FROM protocol p LEFT JOIN protocol_item item ON item.protocol = p.id LEFT JOIN protocol_participant pp ON pp.itemid = item.id WHERE item.protocol = $itemId GROUP BY item.id";
$arr = $global->db->getQuery($sql);
//$arr = array(64, 34, 25, 12, 22, 11, 90); // it's working
$len = sizeof($arr);
bubbleSort($arr);
echo "Sorted array : \n";
for ($i = 0; $i < $len; $i++) {
$final_position = $arr[$i];
echo $final_position . " ";
}
达令说