-3
function secondsToTime($inputSeconds) {

   $secondsInAMinute = 60;
   $secondsInAnHour  = 60 * $secondsInAMinute;
   $secondsInADay    = 24 * $secondsInAnHour;

    $days = floor($inputSeconds / $secondsInADay);

   $hourSeconds = $inputSeconds % $secondsInADay;
   $hours = floor($hourSeconds / $secondsInAnHour);

    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);


    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds
    );

    return $obj;
}

この関数は私にエラーを与えます:

Parse error: syntax error, unexpected T_STRING on line 6

私はそれを次のように呼びます:

$start = new DateTime('2010-10-12');
$end = new DateTime('2010-10-14');
$seconds = round(abs($end->format('U') - $start->format('U')));
$obj = secondsToTime($seconds);
4

2 に答える 2

3

例のタイプミスでない限り、コメントしなかった場合は、その前にextract the remaining seconds追加する必要があります。//

// extract the remaining seconds
于 2012-10-31T16:45:45.287 に答える
0

私はあなたのコードをテストしました、そしてそれは明らかに働きます。

しかし、私はしばらく前に同様の問題に遭遇しました。私のコードはローカルで機能しましたが、サーバーにアップロードすると「予期しないT_STRING...」がスローされます。数時間後、文字セットが変更され、スクリプトファイルの先頭にランダムな余分な文字が挿入されていることがわかりました。

これがあなたのケースに当てはまるかどうか、またはそれがあなたを助けるかどうかわからない。ただし、適切なテキストエディタでファイルを開いて、文字セットと予期しない文字を確認することもできます。

于 2012-11-01T19:59:26.217 に答える