2015-09-14 31 views
3

我需要從以下陣列有效的時間戳:如何將X個元素的組合在一起?

$arrkeys = array(
    "t" => [ 
     1442238840,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900,960, 
     1442239860,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900,960, 
     1442240880,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900,960 
    ] 
); 

我需要用下面的17號總結的第一個有效時間戳1442238840在一起,以獲得正確的時間戳,然後,第二個時間戳1442239860等等......

例子:

1442238840 + 60; 
1442238840 + 120; 
1442238840 + 180; 
etc... 

我想不通我怎麼能做到這一點, 有些事情我已經試過:

嘗試1號

//Pseudo-code 
foreach($arrkeys["t"] as $t){ 

    if(strlen($t) < 10){ 
     //Search for the first valid timestamp and sum? 
    } 

} 

嘗試第2號

//Not working. 
$array_size = 17; 

/* I know that every 17 (counting from 0) have a valid timestamp. 
    so that 0 = 1st valid timestamp, 20 = 2nd valid timestamp. */ 

for ($i = 0; $i < $array_size; $i++) { 
    do { 
     echo $i; 
    } while ($i > 0); 

我不知道如果我要解決這個問題的正確途徑,我不不知道如何有效地做到這一點,或者至少做到這一點。

有什麼建議嗎?

回答

5

我愛你試過不同的事情。那很好!

您試圖自己解決問題,array_chunk()在這裏可以幫助您很多,因爲您可以將您的陣列分成17個元素組,然後使用array_sum()將每個17個元素組合在一起,例如,

$result = array_chunk($arrkeys["t"], 17); 
$result = array_map("array_sum", $result); 
相關問題