Я творческий форум и хочу рассчитать частоту новых сообщений в день. Итак, у каждого сообщения есть метки времени:
$post_1 = 1526083200;
$post_2 = 1524083200;
$post_3 = 1523083200;
$post_4 = 1522083200;
Какой расчет мне сделать, чтобы узнать, как часто отправляются сообщения в день. Пример окончательного вывода:
echo 'Every '. $frequency .' day(s)';
Вы можете попробовать что-то вроде этого:
$post_1 = 1526083200;
$post_2 = 1524083200;
$post_3 = 1523083200;
$post_4 = 1522083200;
// I add all the value in an array then sort the array to get the min and max value
$date_array = [$post_1, $post_2, $post_3, $post_4];
sort($date_array);
// Now I can select the min date and the max date
$min_date = $date_array[0];
$max_date = $date_array[count($date_array) - 1];
// I calculate the diff to get the number of day during this period
$datediff = $max_date - $min_date;
// I divide this value with the number or article post during this period
$frequency = $datediff / count($date_array);
// Now I transform this value in number of day
$frequency = round($frequency / (60 * 60 * 24));
На вашем примере это то, что вы получили:
4
2018-03-26
2018-05-12
46
12
Это звучит хорошо для меня с той ценностью, одна статья каждые 12 дней.
Это то, что вы ищете?
при условии, что вы хотите общую частоту:
В вашем примере:
$post_1 = 1526083200;
$post_2 = 1524083200;
$post_3 = 1523083200;
$post_4 = 1522083200;