php查找平均时间(分秒毫秒)

php查找平均时间(分秒毫秒),php,datetime,average,Php,Datetime,Average,我目前有一个数组的格式是这样的数组($time,$time,$time,$time,$time)其中$time是一个字符串,格式是这样的m:ss:MM,其中m=分钟,s=秒,m=毫秒 我该怎么做? 我大致知道如何做到这一点,即: 将每个字符串转换为时间戳 循环遍历数组并调用平均值函数或进行数学计算(不确定它如何处理unix时间戳) 谢谢你的帮助我相信PHP中没有神奇的函数可以做到这一点。你必须写一些东西来总结所有的值,然后除以元素的数量。您可以为此创建一个函数,方法是输入两个值并分解时间,求和值

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

我该怎么做?
我大致知道如何做到这一点,即:

将每个字符串转换为时间戳
循环遍历数组并调用平均值函数或进行数学计算(不确定它如何处理unix时间戳)


谢谢你的帮助

我相信PHP中没有神奇的函数可以做到这一点。你必须写一些东西来总结所有的值,然后除以元素的数量。您可以为此创建一个函数,方法是输入两个值并分解时间,求和值,验证(例如,如果秒大于60,您可以将其转换为额外的一分钟),然后您可以执行相同的操作,除以元素数,以便最终获得平均时间

求和函数如下所示:

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);


}

我相信PHP中没有神奇的函数可以做到这一点。你必须写一些东西来总结所有的值,然后除以元素的数量。您可以为此创建一个函数,方法是输入两个值,分解时间,求和值,验证(比如,如果秒大于60,您可以将其转换为额外的一小时),然后您可以用相同的方法除以元素数,从而最终得到平均时间。@Matheuslourero您能给我看一下这方面的代码吗?我是网络开发的新手。谢谢如果它起作用,我将连根拔起并标记为已回答。我只是添加了一个答案,因为它不适合作为评论。看看它,它能做你不想做的事情,还有更多。@vascowhite这支持我的时间格式吗?它是否也以相同的格式显示输出?看起来不像。我如何让它进行无限量的争论?该函数最少需要14次,最多需要17次。您必须在数组中对每个值进行
运算,将所有值相加,然后除以使用
array_count()
function.FWIW可以获得的值的数量。您只需从
$result='00:00'开始变量,然后在循环中使用
$result=sumTime($result,$timeOfThisLoop)。循环结束后,您将在
$result
变量中获得最终总和。基本上,您还必须基于我编写的相同算法创建一个函数,您可能希望调用
divideTime()
,并获得平均值,如
$average=divideTime($result,$numberOfElements)。对不起,我不太明白。你能把代码放在答案里让它更容易理解吗?@iProgram,这个网站是为了帮助人们解决他们的疑问、问题等,但不是为了免费开发东西。我已经编写了您需要的代码中更复杂的部分。你必须从这里得到东西,做你自己的代码,如果你有任何疑问,你可以在这里问,但我不会为你编码。也许你想要一名教师或一名开发人员,你必须为此付费。对此我很抱歉。