2013-05-03 4 views
-2

통해 배열 요소가 없기 I는 소자 (5)와 상이 시간/분의 배열추가 기능

$array = array("09:00","09:05","09:10","09:15","09:20","09:25","09:30","09:35","09:40","09:45","09:50","09:55","10:00","10:05","10:10","10:15","10:20","10:25","10:30","10:35","10:40","10:45","10:50","10:55",15:00","15:05","15:10","15:15","15:20","15:25","15:30","15:35","15:40","15:45"," 15:50","15:55","16:00","16:05","16:10","16:15","16:20","16:25","16:30","16:35","16:40","16:45","16:50","16:55");  

방법 I는 (11:00 14시 55분로)? 누락 시간을 추가 할 수있다 서로에게 분.

+0

왜 시간 "누락 된 추가"? 그게 당신을 사주 는가? 전체 배열을 처음부터 생성했다면 더 간단하지 않습니까? 결과를 배열로 필요로하는지, 아니면 하나씩 처리하려고하는지 궁금하십니까? – Jon

+0

첫 번째 요소와 마지막 요소를 가져 와서 새 배열을 생성 할 수 있습니다 :). – nacholibre

+0

어쨌든 모든 값이 본질적으로 순차적 인 숫자 인 경우 왜 모든 것을 배열에 저장해야합니까? * N * 시간을 감안할 때 항상 다음 x ** ** 값을 찾을 수 있습니까? – Emissary

답변

0

첫째, 그것은해야한다 :

$array = array("09:00",...); 

둘째, 당신은 단지 전체 배열을 생성 할 수 있습니다. 절대적으로 그렇게해야한다면 가장 쉬운 방법은 가지고있는 배열을 반복하고 누락 된 항목을 새 배열에 추가 한 다음 병합하여 결과 배열을 정렬하는 것입니다.

+0

그건 내 배열이 얼마나 좋은지를 보여주는 예일뿐입니다. 나는 그것을 빨리 썼습니다. 어쨌든 그것은 중요한 시간입니다. 나는 다른 스크립트에서 이런 종류의 배열을 취한다. 그것은 불완전합니다. 그래서 나는 누락 된 값을 찾아서 추가해야합니다. 함수 내에서 수행되어야합니다. 감사합니다. – Mirela

0

나는 사람들이 대답하기를 서두른다고 생각했다. 내 의견은 의미한다. 그러나이 모든 시간을 배열에 저장하는 것은 잔인한 것처럼 보이지만 질문에 대답하는 것처럼 보인다. 가장 간단한 방법은 아니지만 가독성을 위해 가장 쉽다. PHP의 날짜 함수의 사용을하는 것입니다 :

for($i=strtotime('11:00'),$j=strtotime('15:00');$i<$j;$i+=5*60) 
    $array[] = gmdate('H:i', $i); 
$array = array_unique($array); 
asort($array); 

print_r($array); 

run code

+0

'strtotime ('15 : 00 ')'이 루프 밖에있을 경우 성능이 크게 향상 될 것입니다. 그렇지 않다면 약 50 번 평가 될 것이고 그것은 가장 가벼운 기능이 아닙니다. 전반적인 성능은 많이 변하지 않지만 여전히 변합니다. – Nux

+0

@Nux thx, 나는 그것을 빨리 썼다 : P 그러나 기술적으로 너희는 그 포스트를 업데이트했다. 그 차이는 무시할 만하다. – Emissary