2013-09-23 109 views
1
$timein_out = $this->time_model->get_timein_out($this->input->get('i')); 

    $total_diff= array(); 
    $hours = array(); 
    $mins =array(); 

    foreach($timein_out as $timetest) 
    { 
     $total_diff[] = strtotime($timetest["Time_out"]) - strtotime($timetest["Time_in"]); 

     for($key=0;$key<count($total_diff);$key++) 
     { 
      $hours[] = intval(floor($total_diff[$key]/3600)); 
      $mins[] = intval(($total_diff[$key]-$hours[$key]*3600)/60); 
     } 

    }; 

    echo json_encode($total_diff); // output: [33600,34560,35160] 
    echo json_encode($hours); // [9,9,9,9,9,9] 
    echo json_encode($mins); //[20,20,36,20,36,46] 

實際輸出應該是重複陣列的輸出

echo json_encode($hours); // [9,9,9,] 
echo json_encode($mins); //[20,36,46] 

問題:爲什麼輸出重複?我的代碼中有什麼問題? 。:(感謝

+0

什麼是'$的價值。 timein_out'? – bansi

回答

3

可能是你想要外面內環試試這個

foreach($timein_out as $timetest) 
{ 
    $total_diff[] = strtotime($timetest["Time_out"]) - strtotime($timetest["Time_in"]); 

} 
for($key=0;$key<count($total_diff);$key++) 
{ 
    $hours[] = intval(floor($total_diff[$key]/3600)); 
    $mins[] = intval(($total_diff[$key]-$hours[$key]*3600)/60); 
} 
+0

+1比接受的答案更好的方法。它運行2n次並接受n * n次的回答運行.... –

+0

是啊..我認爲這一個比另一個更快.. :) – bot

1

可能會嘗試unset()「婷$total_diff這樣的:

foreach($timein_out as $timetest) { 
    $total_diff[] = strtotime($timetest["Time_out"]) - strtotime($timetest["Time_in"]); 

    for($key=0;$key<count($total_diff);$key++) { 
     $hours[] = intval(floor($total_diff[$key]/3600)); 
     $mins[] = intval(($total_diff[$key]-$hours[$key]*3600)/60); 
    } 
    unset($total_diff); 
} 
+0

謝謝..沒有設置的訣竅.. – bot

+0

不客氣.. :) –

+0

請稍候我不能接受你的回答呢.. 5分鐘去 – bot