2017-09-22 3 views
0

주 범위에서 현재까지 배열에서 일을 변환 :과 같이 배열에 나는 일이

$days = ['Monday','Tuesday','Thursday','Friday','Sunday']; 

을 내가 예를 들어, 주 범위에서 날짜 형식으로 변환 할 오늘 날짜가 28 월 9 월의 경우

$dateResult = ['28 Sep','29 Sep','01 Oct', '02 Oct', '03 Oct'] 

+0

없는 토요일? .... – rtfm

+0

1 sep 2 sep? 아니면 10 월을 의미합니까? 또한, 이러한 방식으로 날짜 뒤에있는 논리는 무엇입니까? –

+0

@rtfm 배열의 일은 –

답변

0

오늘부터 7 일을 고려합니다.

$days = ['Monday','Tuesday','Thursday','Friday','Sunday']; 

$ret = [] ; 
for($i = 0; $i < 7; $i ++) { 
    $t = strtotime('+' . $i . ' day') ; 
    if(in_array(Date('l', $t), $days)) { 
     $ret[] = Date('d M', $t) ; 
    } 
} 
print_r($ret) ; 
+0

죄송합니다. 도착하지 않았습니다. – tan

-1

먼저 오늘부터 당신이 일을 변환 할 필요를 주 범위에서 위의 같은 형식으로 날짜를 찾을 수 : -2017, 난 결과가 배열에 같이 할 수. 예 : 월요일은 1, 화요일은 2 등입니다.

//$days = ['Monday','Tuesday','Thursday','Friday','Sunday']; 

$days_in_number = [1,2,4,5,7]; 

$r = array(); 
$today = date('N'); 
foreach($days_in_number as $x){ 
    $r[] = date('M-d',strtotime((($today-$x) * -1).' days')); 
} 

print_r($r); 

참고 :이 코드는 현재 1 주간 만 사용할 수 있습니다.

+0

죄송합니다.이 기능이 작동하지 않는 경우. 나는 당신이 무엇을 찾고 있는지 모른다. –

0
for ($i = 0; $i < 7; $i++) { 
    /* Get day name i.e Friday, Saturday etc */ 
    $day_name =  date("l", strtotime("+$i day")); 
    /* Store result in array only if day is present in $days */ 
    if (in_array($day_name, $days)) { 
     $result[] = date("d M", strtotime("next " . $day_name, strtotime("+". $i ." day"))); 
    } 
} 

출력 :

Array 
(
[0] => 29 Sep 
[1] => 01 Oct 
[2] => 02 Oct 
[3] => 03 Oct 
[4] => 05 Oct 
)