phpで指定範囲の中に土日があった場合配列で結果を返すコードを作成したのですが、while文が$to_date(2020-08-09)までループしてくれません。
ものすごい基本的なことで恐縮ですが、ご回答よろしくお願いします。
試したコード
php
1 2$from_date = "2020-08-01"; 3$to_date = "2020-08-09"; 4 5$holiday = array(); 6do{ 7 $datetime = new DateTime($from_date); 8 if ((int)$datetime->format('w') == 0 || (int)$datetime->format('w') == 6){ 9 // 土日の場合 10 array_push($holiday, $from_date); 11 } 12 // 指定範囲が同日だった場合は回避 13 if ($from_date < $to_date) { 14 $from_date = date("Y-m-d", strtotime($from_date . "+1 day")); 15 } 16}while ($from_date < $to_date); 17 18var_dump($holiday); 19 20// 結果 21array(3) { 22 [0]=> 23 string(10) "2020-08-01" 24 [1]=> 25 string(10) "2020-08-02" 26 [2]=> 27 string(10) "2020-08-08" 28} 29 30// 期待する結果 31array(3) { 32 [0]=> 33 string(10) "2020-08-01" 34 [1]=> 35 string(10) "2020-08-02" 36 [2]=> 37 string(10) "2020-08-08" 38 [3]=> 39 string(10) "2020-08-09" 40} 41
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/07 12:11