第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在PHP中使用冒泡排序?qū)Χ嗑S數(shù)組進(jìn)行排序?

如何在PHP中使用冒泡排序?qū)Χ嗑S數(shù)組進(jìn)行排序?

PHP
ITMISS 2021-10-22 15:04:57
我的冒泡排序非常適合 single array。我如何為多維實(shí)現(xiàn)這個(gè)array?我想對(duì)這個(gè)多維數(shù)組值進(jìn)行排序['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 . " ";}
查看完整描述

1 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用usort ()你可以做到這一點(diǎn)。工作演示。


usort($arr, function ($a, $b) {

    return $a['position'] > $b['position'] ? 1 : -1;

});


print '<pre>';

print_r($arr);

在冒泡排序的幫助下。在您的代碼中,您應(yīng)該與兩個(gè)位置進(jìn)行比較,但您的比較是與數(shù)組索引進(jìn)行比較。需要稍作修改:更改$arr[$j] > $arr[$j+1]為$arr[$j]['position'] > $arr[$j+1]['position'].


$n = sizeof($arr);


for($i = 0; $i < $n; $i++) {

    for ($j = 0; $j < $n - $i - 1; $j++) {

        if ($arr[$j]['position'] > $arr[$j+1]['position']) {

            $t = $arr[$j];

            $arr[$j] = $arr[$j+1];

            $arr[$j+1] = $t;

        }

    }

}

工作演示。


注意:我不知道為什么你需要冒泡排序而不是usort(). usort()簡單得多。


查看完整回答
反對(duì) 回復(fù) 2021-10-22
  • 1 回答
  • 0 關(guān)注
  • 250 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)