【发布时间】:2017-11-08 09:10:41
【问题描述】:
当我尝试获取多个数组的平均值时,它返回 false 值给我,而数组有两个不同的一天时间。例如;
时间大概是:23:30:30 - 01:30:30 平均应该是:00:30:30
但现在它返回:12:30:30
我的阵列:
[0] => 22:50:20
[1] => 05:37:42
[2] => 04:21:15
[3] => 02:51:00
[4] => 00:35:09
[5] => 01:28:45
[6] => 23:15:47
[7] => 02:50:01
[8] => 03:32:04
[9] => 00:09:17
[10] => 23:49:10
[11] => 23:26:37
[12] => 00:35:56
[13] => 04:54:00
[14] => 00:55:06
[15] => 23:32:03
[16] => 02:27:27
[17] => 02:22:42
[18] => 01:49:47
[19] => 03:25:36 )
Average: 07:44:29
PHP 代码
date('h:i:s', array_sum(array_map('strtotime', $all_times)) / count($all_times));
【问题讨论】:
-
这是正确的时间,但您是以 12 小时格式显示的。尝试改用 H:i:s
-
我不明白这是怎么回事,看来您正在添加并获取此持续时间的平均值
-
按照您的计算方式,23:30 pm 和 01:30 am 的平均值将是 12:30 pm(即同一天它们之间的一半)。如果您想要不同的值,则需要包含日期。
-
"23:30:30 - 01:30:30 平均值应为:00:30:30" -- 平均值为
12:30:30。仅当01:30:30在第二天时才为00:30:30,但此信息未在您的输入数据中的任何位置提供。 -
你需要一个绝对的基础,你的每一次都有一个相对的基础。只有在相同的基础上,你的平均数才是合理的。