[英]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.