2012-04-08 17 views
1

私はPHPを初めて使い慣れています。PHPで合計時と分を実装するのに助けが必要です。PHPで合計時間、分、秒を実装する際に助けが必要

私は私の予想される出力は、(例:2時30分40秒)時間、分、秒で合計時間でなければなりません

(array) Array 
(
    [0] => 01:10:00 
    [1] => 01:20:30 
    [2] => 00:00:10 
) 

時間、分、秒でPHPの時間の配列を持っている

答えて

0
$hours; 
$minutes; 
$seconds; 

foreach($thatArray as $v) 
{ 
    $subArray = explode(':', $v); 

    $hours += $subArray[0]; 
    $minutes += $subArray[1]; 
    $seconds += $subArray[2]; 
} 

// output $hours/$minutes/$seconds, correctly formatting, etc 
+0

感謝:いいえ問題は、あなたが最高賞にあなたの答えに次の点を持つレスポンダを矢印をクリックすることができます忘れない、とチェックを選択しないでください最も役に立つと思われる答えの横に表示されます。 – jalf

+0

@jalfため – Josh

0

あなたはコードを渡すつもりはありません。ここにあなたがそれを行うことができます方法は次のとおりです。

は秒を追加することにより、explode()

Startを使用して、時間の個々のコンポーネントを取得します。結果が60より大きい場合は、分を増やします。

+0

私はあなたがスマートだと知っています、ありがとうとにかく – jalf

+2

StackOverflowはあなたの個人的なソフトウェア開発者ではありません。事前に書かれたコードが必要な場合は、フリーランスの開発者を雇います。ここでは、あなた自身でコードを書くのを助けます。 – xbonez

+0

はい私は知っている、あなたの問題は何ですか? – jalf

0

最も簡単な方法は、おそらくすべてを秒表現に変換し、合計して元に戻すことです。たとえば、次のように

function timeToSeconds($time) { 
    $parts = explode(':', $time); 

    return $parts[0] * 3600 + $parts[1] * 60 + $parts[2]; 
} 

function secondsToTime($seconds) { 
    $hours = floor($seconds/3600); 
    $minutes = floor($seconds/60) % 60; 
    $seconds %= 60; 

    return str_pad($hours, 2, '0', STR_PAD_LEFT) . ':' . str_pad($minutes, 2, '0', STR_PAD_LEFT) . ':' . str_pad($seconds, 2, '0', STR_PAD_LEFT); 
} 

$times = array('01:10:00', '01:20:30', '00:00:10'); 
$total = secondsToTime(array_sum(array_map('timeToSeconds', $times))); 

Here's a demo.

お時間
+0

ありがとうございましたminitech、それは動作します – jalf

+0

@ jalf:もうできませんか? – Ryan

関連する問題