2014-08-29 2 views
-1

(Y-m-d)을 반환하고 싶습니다.PHP : 주어진 요일과 월말 사이에 종일 인쇄

과는 독립적으로 주어진 날 에서 끝날 때까지 모든 날을 인쇄해야합니다.

[$ array as $ i] - [$ array as $ key]를 시도했지만 작동하지 않았습니다.

$의 myday (예 = 19)
복귀 $ 일

초래할 것이다 :
배열
[0] => 20
[1] => 21
[2] => 22
[3] => 23
...
[31] => 31 || [30] => 30 || [28] => 28

각 필드를 다른 필드와 비교하려면 $ 일 동안 값이 필요합니다.

날짜로 취급하는 대신 일반 번호로 $ myday를 사용하지 않았습니다. 그리고, strtotime으로, mktime은 ....

같은 매우 간단한 무언가를 필요

편집을 사용하지이 하나

$output = array(); 
for ($i=$myday+1;$i<=31 || $i<=30 || $i<=28;$i++) { 
$output[] = $i; 
} 

하지만 그것을하지 않습니다, 나는 각으로 돌아 print_r의 필요 다른 if 조건에서 사용할 값

+0

독립적이지 결과 년 (윤년). 코드를 게시하거나 질문을 편집해야합니다. – Jonathan

답변

1

DateTime(), DateInterval(), DatePeriod()relative date formats을 사용하면 쉽게 수행 할 수 있습니다.

$start = (new DateTime())->setDate(date('Y'), date('m'), $myday + 1); 
$end  = new DateTime('first day of next month'); 
$interval = new DateInterval('P1D'); 
$period = new DatePeriod($start, $interval, $end); 
$days  = array(); 
foreach($period as $date) { 
    $days[] = $date->format('d'); 
} 

는 또한, 당신이, 그 달에 달 그래서 그 독립적이지 얼마나 많은 일 알아 무엇 달 알 필요가

Array 
(
    [0] => 20 
    [1] => 21 
    [2] => 22 
    [3] => 23 
    [4] => 24 
    [5] => 25 
    [6] => 26 
    [7] => 27 
    [8] => 28 
    [9] => 29 
    [10] => 30 
    [11] => 31 
) 

Demo

+0

감사합니다 존하지만 나는 년과 월의 사용을 피하려고 노력했다. 가장 단순화 된 버전을 사용하여 2 개의 숫자 사이의 범위를 얻고 각 숫자를 값으로 반환하려고했다. 결과를 값으로 반환하여 다른 if 조건에서 각 값을 사용할 수 있습니다. – cchap

+0

년과 월을 지정하지 않으면 월이 어떻게 결정됩니까? 그리고 그 달의 날 수? –

+0

if() {}는 달과 요일을 확인하기 전에 필요하지 않습니다. 남은 날을 폭발시켜 각각이 다른 것과 비교하도록해야합니다. – cchap