2013-06-14 1 views
-1

내가 할 수있는 모든 노력했지만 솔루션을 생각해 낼 수 없었다 .... 어떻게 시간의 $ 간격 루프 수 있습니다 ....

여기에 있습니다 CodeIgniter 컨트롤러의 기능은 다음과 같습니다.

public function calculate_time_lap() { 
     $formate = "%h:%i"; 
     $in = $this->input->post('checkin'); 

     foreach ($in as $checkin) { 
      $datetime1 = date_create($checkin); 
     } 

     $out = $this->input->post('checkout'); 
     foreach ($out as $checkout) { 
      $datetime2 = date_create($checkout); 
     } 

     $interval = date_diff($datetime2, $datetime1); 
     $times = $interval->format($formate); 

     echo $this->add_time($times); 
     //add_time is function to add array value of time 
    } 
+0

죄송합니다. 원하시는 것을 이해하지 못하지만 예제로 질문을 완료 할 수 있습니까? –

+0

$ interval이 배열이 되길 원합니다 ... – Rozer

+0

체크 인과 체크 아웃이 배열 인 ... – Rozer

답변

0

체크 인 및 체크 아웃을 위해서는 datetimes 배열이 필요합니다.

$in = $this->input->post('checkin'); 
foreach ($in as $checkin) { 
    $datetime_array1[] = date_create($checkin); 
} 

$out = $this->input->post('checkout'); 
foreach ($out as $checkout) { 
    $datetime_array2[] = date_create($checkout); 
} 

그리고 그들 각각에 대한 배열의 간격을 설정 : 사용자의 입력이 올바른지

foreach ($datetime_array1 as $key => $datetime1) { 
    $datetime2 = $datetime_array2[$key]; 
    $interval[] = date_diff($datetime2, $datetime1); 
} 

는 나도 몰라 그래서 당신은 무엇을 샘플 제공 :

$datetime_array1[] = date_create('2000-01-01'); 
$datetime_array1[] = date_create('2000-01-02'); 
$datetime_array1[] = date_create('2000-01-03'); 

$datetime_array2[] = date_create('2000-02-01'); 
$datetime_array2[] = date_create('2000-03-02'); 
$datetime_array2[] = date_create('2000-04-03'); 

foreach ($datetime_array1 as $key => $datetime1) { 
    $datetime2 = $datetime_array2[$key]; 
    $interval[] = date_diff($datetime2, $datetime1); 
} 

echo '<pre>' . print_r($interval, TRUE) . '</pre>'; 

결과 :

Array 
(
[0] => DateInterval Object 
    (
     [y] => 0 
     [m] => 1 
     [d] => 0 
     [h] => 0 
     [i] => 0 
     [s] => 0 
     [invert] => 1 
     [days] => 31 
    ) 

[1] => DateInterval Object 
    (
     [y] => 0 
     [m] => 2 
     [d] => 0 
     [h] => 0 
     [i] => 0 
     [s] => 0 
     [invert] => 1 
     [days] => 60 
    ) 

[2] => DateInterval Object 
    (
     [y] => 0 
     [m] => 3 
     [d] => 0 
     [h] => 0 
     [i] => 0 
     [s] => 0 
     [invert] => 1 
     [days] => 91 
    ) 

)

+0

DateTime 형식의 객체를 배열로 사용할 수 없습니다 .....이 같은 오류가 발생했습니다 – Rozer

+0

감사합니다 broda .... 고맙습니다. – Rozer

관련 문제