Cảm ơn bạn, tôi đã không tìm thấy hướng dẫn này. Chúng tôi bắt đầu với điều này trong lớp nhưng không có nhiều lời giải thích. Tôi đang học với freecodecamp song song với việc học của mình. t
hàm getNumWeekdays($start_day, $end_day)
{
$start_day_ts = strtotime($start_day);
$end_day_ts = strtotime($end_day);
$num_weekdays = 0;
trong khi ($start_day_ts <= $end_day_ts ) {
nếu (ngày(“N”, $start_day_ts) < 6){
++$num_ngày trong tuần;
}
$start_day_ts += 86400;
}
trả về $num_weekdays;
}
hàm getArrayRandNumbers($num_week_days){
$tổng = 0;
$rand_num = 0;
$weekday_array = mảng();
$norm_array = mảng();
cho ($i= 0 ; $i < $num_week_days ; $i++) {
$rand_num = mt_rand(1,1000);
$total += $rand_num;
array_push($weekday_array , $rand_num);
}
$total = floatval($total);
foreach ( $weekday_array là $wd ) {
mảng_push( $norm_array, floatval($wd) / $total);
}
trả về $norm_array;
}
hàm dist_amount_randomly($amount, $baseline, $start_date, $end_date){
$start_day_ts = strtotime($start_date);
$end_day_ts = strtotime($end_date);
$num_weekdays = getNumWeekdays($start_date, $end_date);
$num_weekdays
$norm_array = getArrayRandNumbers($num_weekdays);
$index_of_norm_array = 0;
$output_array = mảng();
$min_in_days = floatval($amount)*floatval($baseline)/(floatval($num_weekdays)*100.0);
$amount_to_be_dist = floatval(100-$baseline) *floatval($amount)/100.0;
trong khi ($start_day_ts <= $end_day_ts ) {
nếu (ngày(“N”, $start_day_ts) < 6){
$amount_for_weekday = $norm_array[$index_of_norm_array]*$amount_to_be_dist+$min_in_days;
$formatted_amount = number_format($amount_for_weekday, 2,’.’,”);
$index_of_norm_array++;
} khác {
$formatted_amount = “0,00”;
}
Và không biết làm thế nào để thay đổi nó thành mảng.