- Автор темы
- #1
Всем привет.
Нужно в зависимости от того какой сейчас этап $client->stage
определять номер периода этого этапа, периодов всего 2, 1 и 2. Периоды постоянно чередуются т.е сначала 2 потом 1, потом опять 2 , потом 1 и т.д.
Первый этап период меняется каждый день
Второй этап период меняется каждые 2 дня, т.е первые 2 дня период 2 потом следующие 2 период 1
Третий период меняется каждые 3 дня.
Нужно это как то автоматизировать что бы убрать четкие условия типа
$arr = [1,2,5,6,9,10,13,14,17,18,21,22,25,26,29,30];
а вместо это типа что типа $d % 2 == 1
что б не вводить руками все эти условия
Нужно в зависимости от того какой сейчас этап $client->stage
определять номер периода этого этапа, периодов всего 2, 1 и 2. Периоды постоянно чередуются т.е сначала 2 потом 1, потом опять 2 , потом 1 и т.д.
Первый этап период меняется каждый день
Второй этап период меняется каждые 2 дня, т.е первые 2 дня период 2 потом следующие 2 период 1
Третий период меняется каждые 3 дня.
Нужно это как то автоматизировать что бы убрать четкие условия типа
$arr = [1,2,5,6,9,10,13,14,17,18,21,22,25,26,29,30];
а вместо это типа что типа $d % 2 == 1
что б не вводить руками все эти условия
PHP:
function getPeriod($stage, $d){
if($stage == 1){
if($d % 2 == 1 ){
return 2;
}
if($d % 2 == 0 ){
return 1;
}
}
if($stage == 2){
$arr = [1,2,5,6,9,10,13,14,17,18,21,22,25,26,29,30];
//получаем номер текущего периода
if(in_array($d, $arr)){
return 2;
}
$arr = [3,4,7,8,11,12,15,16,19,20,23,24,27,28,31,32];
if(in_array($d, $arr)){
return 1;
}
}
if($stage == 3){
//получаем номер текущего периода
$arr = [1,2,3,7,8,9,13,14,15,19,20,21,25,26,27,31,32,33];
if(in_array($d, $arr)){
return 2;
}
$arr = [4,5,6,10,11,12,16,17,18,22,23,24,28,29,30];
if(in_array($d, $arr)){
return 1;
}
}
}
$stage = 3;
$d = 3;
echo getPeriod($stage, $d);
Последнее редактирование: