2016-07-04 36 views
4

我需要一個迭代數轉換成一系列的1和7轉換迭代次數,以在有限的範圍(等的週數天)

$y = keepInRange(1, 7, $i) 
結果輸入之間

- >輸出被期待作爲遵循

  • 1 - > 1
  • ...
  • 7 - > 7
  • 8 - > 1
  • 9 - > 2
  • ...
  • 14 - > 7
  • 15 - > 1

我已經嘗試了以下沒有成功:

min(7, max(1, $numberToStr[$i])) (all output 1) 
$y = $i % 7 (all outputs 0, Edit: this was a mistake by me, its the solution when +1 is added.) 
+1

你能解釋一下多一點? –

+0

當然,它需要保持在1到7之間,如果它超過它需要每7個可能降低。例如: :23可以刪除7次三次。仍然是2. – IMarks

+0

是的,應該輸出一個數組? (變量$ y)什麼是$ i? –

回答

2

試試這個

<?php 
$num = 15; 
$res= $num%7; 
if($res == 0) 
{ 
    echo "7"; 
} 
else 
{ 
    echo $res; 
} 

https://3v4l.org/dDGs3

我希望這將是有益的

2

嘗試:

$day_of_week = $num <= 7 ? $num : $num % 7; 

演示:

for($num=1; $num<25; $num++) { 
    $day_of_week = $num <= 7 ? $num : $num % 7; 
    echo '<p>'.$num.': '.$day_of_week.'</p>'; 
} 

Demo in JS