Добавить время эпохи с миллисекундами к дате / времени эпохи?

У меня есть функция в 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-01-22 05:28:34

Обратите внимание, что эти даты являются примерами.

1

Решение

Моя проблема в том, что иногда она возвращает время эпохи, например, «98734.285714286», а не «98734».

$average = intval($average);

Никаких объяснений не требуется 🙂

1

Другие решения

Они целые числа, поэтому относитесь к ним как к целым числам.

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

И тогда делайте с ним, что хотите, например, взяв в среднем:

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

По вопросам рекламы [email protected]