簡體   English   中英

array_multisort無法使用PHP

[英]array_multisort not working PHP

拜托我需要你的幫忙。 我想按優先級將數組排序為升序。

這是數組

Array
(
    [process] => Array
        (
            [0] => Array
                (
                    [name] => p1
                    [burst_time] => 2
                    [priority_time] => 3
                )

            [1] => Array
                (
                    [name] => p2
                    [burst_time] => 2
                    [priority_time] => 4
                )

            [2] => Array
                (
                    [name] => p3
                    [burst_time] => 2
                    [priority_time] => 1
                )

        )

)

我嘗試了這段代碼,但對我不起作用。 謝謝你高級:)

foreach ($data as $key => $row) {
    $mid[$key]  = $row;
}
array_multisort($mid, SORT_ASC, $data);

您正在使用array_multisort但無需按多個維度進行排序。 一個簡單的usort就足夠了:

$data = array(
    "process" => array(
        array(
            "name" => p1,
            "burst_time" => 2,
            "priority_time" => 3
        ), array(
            "name" => p2,
            "burst_time" => 2,
            "priority_time" => 4
        ), array(
            "name" => p3,
            "burst_time" => 2,
            "priority_time" => 1
        )
    )
);

usort($data["process"], "sort_by_priority_time");

function sort_by_priority_time($a, $b) {
    return $a["priority_time"] - $b["priority_time"];
}

我知道了 謝謝你們的幫助。

我將其更改為。 終於可以了。

 foreach ($data['process'] as $key => $row) { $mid[$key] = $row; } array_multisort($mid, SORT_ASC, $data['process'] ); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM