Я отлаживал этот устаревший код и хотел бы проверить его.Определите, является ли неделя нечетной или даже
Целью этого является позволить кому-либо выбрать частоту доставки для доставки продукта. Если кто-то хочет свой продукт Every Other Week, система должна определить, должны ли они получить заказ на следующей неделе или через две недели. Мы называем это неделей или неделей.
Имейте в виду, я не пишу это, я просто пытаюсь разобраться в ней и хотел бы получить некоторую помощь, оценивая ее точность:
if (date("l") == "Monday") {
$start = 0;
} else if (date("l") == "Tuesday" || date("l") == "Wednesday" || date("l") == "Thursday" || date("l") == "Friday" || date("l") == "Saturday"|| date("l") == "Sunday") {
$start = -1;
}
// if changing to every other week set to next week's a/b-ness
$a_week_tid = 34;
$b_week_tid = 35;
$every_other_week_frequency_id = 32;
if ($delivery_frequency == $every_other_week_frequency_id) {
$julian = (int) (strtotime('Monday +' . $start . ' week')/86400);
$julian_week = ($julian-4)/7;
if ($julian_week % 2) {
$today_a_or_b = $b_week_tid;
$next_week_a_or_b = $a_week_tid;
$a_or_b_week_string = '(A Week)';
} else {
$today_a_or_b = $a_week_tid;
$next_week_a_or_b = $b_week_tid;
$a_or_b_week_string = '(B Week)';
}
} else {
$next_week_a_or_b = NULL;
$a_or_b_week_string = NULL;
}
Этот код не комментировали или документально. Часть, которая меня смущает:
- Почему 4 вычитается из Юлиана, а затем делится на 7?
- Если сегодня понедельник, $ julian_week - 2129, а 2129% 2 оценивает значение ИСТИНА. Это верно?
- Это даже то, как это должно быть сделано? Не могу ли я переписать это с использованием даты ('w') намного проще?
Я не совсем понимаю, код, приведенный выше, так что могут быть некоторые будний связанных тонкостях, но это * возможно * можно переписать гораздо проще - по линии '(количество недель с момента заказа был помещено% 2 == 0? «неделя»: «B неделя») ' –
Возможно, написан кем-то, кто не знает дату (« W »); – Incognito