2012-10-31 100 views
-2
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; 
} 

這個功能給予的我一個錯誤:語法意外T_STRING

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

除了在發佈的代碼中丟失的評論,第六行沒有字符串。發佈代碼你調用這個函數 –

+0

抱歉,該錯誤,更新,它仍然give'me該錯誤 –

+1

那麼什麼是第6行? –

回答

3

除非是在你的例子一個錯字,你沒有發表評論extract the remaining seconds ,您需要在其之前添加//

// extract the remaining seconds 
+0

更新........... –

+0

然後,該功能不是你的問題的原因。 – doublesharp

0

我測試了你的代碼,它很明顯起作用。

不過,前段時間我遇到過類似的問題。我的代碼在本地工作,但是當上傳到服務器時,它會拋出「意外的T_STRING ...」。幾個小時後,我發現charset被改變了,一些隨機的額外字符被插入到我的腳本文件的開頭。

不知道這是否適用於您的情況,或者它是否會對您有幫助。但你可以嘗試在一個好的文本編輯器中打開你的文件來檢查字符集和意外字符。

相關問題