PHP查找平均时间以分钟、秒、毫秒为单位


php find average time in minutes seconds milliseconds

我目前有一个数组的格式是这样的array($time,$time,$time,$time,$time, $time),其中$time是一个字符串格式的m:ss:MM,其中m =分钟,s =秒,M =毫秒。

我该怎么做呢?
关于如何做到这一点,我有一个粗略的想法:

将每个字符串转换为时间戳
循环遍历数组并调用平均函数或进行数学计算(不确定它如何与Unix时间戳一起工作)。

Thanks for the help

我相信PHP中没有神奇的函数。你必须写一些东西来把所有的值加起来,然后除以元素的数量。你可以为它创建一个函数,输入两个值并将时间展开,将值相加,验证(例如,如果秒大于60,你可以将其转换为额外的分钟),然后你可以做同样的事情除以元素的数量,这样你就可以最终得到平均时间。

sum函数应该是这样的:

function sumTime($time1, $time2) {
    $time1Exp = explode(':', $time1);
    $time2Exp = explode(':', $time2);
    $timeResult = array();
    $extraMinutes = $extraSeconds = 0;
    //sum milliseconds
    $timeResult[2] = $time1Exp[2] + $time2Exp[2];
    if($timeResult[2] >= 100) {
        $extraSeconds = floor($timeResult[2] / 100);
        $timeResult[2] -= $extraSeconds * 100;
    }
    $timeResult[1] = $time1Exp[1] + $time2Exp[1] + $extraSeconds;
    if($timeResult[1] >= 60) {
        $extraMinutes = floor($timeResult[1] / 60);
        $timeResult[1] -= $extraMinutes * 100;
    }
    $timeResult[0] = $time1Exp[0] + $time2Exp[0] + $extraMinutes;
    return implode(':', $timeResult);

}