2016-01-20 73 views
1

我在PHP一個函數,它得到劃時代的日期的平均時間在陣列中以毫秒添加出現時間一個劃時代的日期/時間?

Intervals - Array 
(
    [0] => 86340 
    [1] => 86400 
    [2] => 86400 
    [3] => 86400 
    [4] => 86400 
    [5] => 172800 
    [6] => 86400 
) 

我通過將陣列中的所有元件和由陣列中元素的量除以工作的平均值。我的問題是有時它會返回一個劃時代的時間一樣 - 「98734.285714286」而不是「98734」

後來我加入這意味着一次具有劃時代意義的日期,例如 - 「1453348800 + 98734.285714286」

但隨着時代日期具有小數位似乎小數位到例如劃時代結果後的前4號附加 - 「1453354114.2857」並且當該被轉換回人類可讀日期它正在恢復 - 2903年1月22日5時28分34秒

請注意,這些劃時代日期的例子。

回答

1

我的問題是有時它會返回一個劃時代的時間一樣 - '98734.285714286' 而不是 '98734'

$average = intval($average); 

沒有說明需要:)

0

他們都是整數,所以將它們視爲整數。

$intervals = ['86340', '85340', '1453354114.2857']; 
array_walk($intervals, 'intval'); // now they are all integer 

,然後用它做你想要的,喜歡拍照TE avarage:

$avg = intval(array_sum($intervals)/count(intervals)); 
+0

錯誤的假設。 '(3 + 2 + 3)/ 3' =整數?沒有。他們想要的答案是一個整數,而不是操作數 –

+0

簡單再添inval,像我上面那樣......我加入吧。 –

+0

那麼爲什麼使用數組走浪費這麼多'intval'電話? –