2012-03-13 65 views
1

我有一個從0時間字符串到24這樣獲得每4個小時

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 

現在,如果這是2點鐘,我要選擇每4個小時。所以從上面這將是

2, 6, 10, 14, 18, 22 

我試圖環繞它我的頭讓這個打算 感謝

我已經試過這

if(range($hour, 23, 4)){ 
    print_r($hour);echo '<br />'; 
} 

,但它仍然打印所有的時間在該陣列中

編輯 這裏是代碼

$hourlyData->hour只是一個小時的數字,如0或1或2等高達23

foreach($jason->hours as $hourlyData){ 
    if(range($hourlyData->hour, 23, 3)){ 
     // print here to check if the correct time is used 
     print_r($hourlyData->hour);echo '<br />'; 
    } 
} 

回答

8

爲什麼要使用 「時間線」 這個?它是內置的。對於數組:

$hours = range(2, 23, 4); // get every 4th hour starting from 2 

對於字符串:

$str = implode(', ', range(2, 23, 4)); 

最後,解開神奇的數字消除成就:

define('HOURS_IN_DAY', 24); 
$str = implode(', ', range(2, HOURS_IN_DAY - 1, 4)); 
+0

確定,但如果我檢查一個數組數字...所以我的代碼就像foreach($ hour as $ hourlyData){ \t \t \t \t \t \t如果(範圍($ hourlyData->小時,23,3)){ \t \t \t的print_r($ hourlyData->小時);回聲
'; \t \t \t \t \t \t} \t \t \t \t \t \t \t \t} – Autolycus 2012-03-13 09:38:39

+0

但上面不工作 – Autolycus 2012-03-13 09:38:51

+0

@Autolycus:該代碼是沒有意義的。請編輯問題,提供更多關於您究竟在做什麼的信息。 – Jon 2012-03-13 09:42:30