Я пытаюсь обработать числовую переменную следующим образом:
если число между 1-6, я хочу посчитать разницу между ним и 7,
если число между 15-20, я хочу посчитать разницу между ним и 21,
если число между 29-34 я хочу посчитать разницу между ним и 35
и так далее….
Другими словами, сгруппировав его по коэффициентам 14, мне нужно найти разницу между первыми 6 числами и 7-м числом в каждой группе.
Я надеюсь, что в этом есть смысл. Мне трудно объяснить в письменной форме, мой код не намного лучше, но мне удалось заставить его делать то, что я хочу, но я знаю, что он не идеален, поэтому то, что я ищу, является более простым решением для этого.
$total = 'A NUMBER'; /* the input number (example: 16 )*/
$fill =($total / 14);
$fill = $fill - floor($fill);
if($fill > 0 && $fill < 0.5)
{
$fill = $total;
while ($fill >= 7)
{
$fill = ($fill - 7);
}
$fill = (7 - $fill);
} else {
$fill=0;
}
echo $fill; /* the output (example answer: 5) */
Попробуйте следующую функцию:
function MyProcess( $in ) {
$quotient = (int) ($in / 7);
if( ($quotient % 2 === 0) and ($in % 7 !== 0) )
return 7 - ($in % 7);
return 0;
}
Других решений пока нет …