1 回答

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個贊
此代碼使用while()循環(huán)創(chuàng)建工作天數(shù)的輸出數(shù)組。它用于$current跟蹤每個項(xiàng)目以及剩余的分配量。它還用于$dailyLeft跟蹤特定日期剩余的容量。它會檢查兩者,如果當(dāng)前小于剩余的每日容量,則會為該項(xiàng)目分配一整天并重置每日容量。如果當(dāng)天有額外容量,則會將此項(xiàng)目分配給該天并獲取下一個項(xiàng)目。
$day++僅當(dāng)當(dāng)天的容量已滿時,該天才會增加(使用)...
$max = 1700;
$dailyLeft = $max;
$current = reset($priorityArraySum);
$output = [];
$day = 1;
while (true) {
// echo $current."/".$dailyLeft."=".$day.PHP_EOL;
if ( $current >= $dailyLeft ) {
$output[] = ["priority" => key($priorityArraySum),
"amount" => $dailyLeft,
"day" => $day++
];
$current -= $dailyLeft;
$dailyLeft = $max;
}
else {
$output[] = ["priority" => key($priorityArraySum),
"amount" => $current,
"day" => $day
];
$dailyLeft -= $current;
if ( ($current = next($priorityArraySum)) === false ) {
break;
}
}
}
print_r($output);
- 1 回答
- 0 關(guān)注
- 97 瀏覽
添加回答
舉報