PHPで『今日(又は指定した日)が第○週の○曜日か?』を求めて出力するような関数を勉強しましたが、実際にプログラムの機能として使えるレベルというにはいささか使い道が偏った仕様ではないか?・・・と・・・
第一、「今日が第○週の○曜日か知りたーい!!」なんてお願い○ンキング的な案件はカレンダーを見れば済む話だし、関数としても教材以外ではあんまり重要もないであろうというコトで・・・
『俺メモ|Web時々アプリ』さんのサイトで『指定週と曜日の日付を取得する』という記事で作っていただいた関数をもとに
$n = 2; // 第n $w = "日"; // w曜日 funcDesignatedDay($n, $w); function funcDesignatedDay($n, $w){ $year_val = date(Y); // 年を取得 $month_val = date(m); // 月を取得 $arr_week = array("日", "土", "金", "木", "水", "火", "月"); for($i = 0; $i if($w == $arr_week[$i]){ $w_no = $i; } } // 曜日番号を取得(0:日曜日~6:土曜日) $week_no = date('w',strtotime("$year_val/$month_val/1")); $d = (7*$n)+1; if((8 - ($week_no + $w_no)) $day = ($d - ($week_no + $w_no) + 7); }else{ if($w_no == 0 && $week_no == 0){ $day = ($d - ($week_no + $w_no) - 7); }else$day = ($d - ($week_no + $w_no)); } } return $day; }
$text = '出力してやんよ!!!';
function funcCommentPut($text, $designatedDay){ $todayNum = date(j); //今日の日にちを取得 $bannerComment = array(); //コメントタグの配列に if($todayNum >= ($designatedDay-4) && $todayNum $bannerComment['start'] = '<!--'.$text.'start -->'."\n"; //コメント始め $bannerComment['end'] = '<!--'.$text.'endt -->'."\n"; //コメント閉じ }else{ $bannerComment['start'] = '<!-- start '.$text."\n"; //コメント始め $bannerComment['end'] = $text.' end -->'."\n"; //コメント閉じ } return $bannerComment; }
$designatedDay = funcDesignatedDay($n, $w); $htmlComment = funcCommentPut($text, $designatedDay);
<!--?php echo $htmlComment['start']; ?--> 『第○週の○曜日に出てきてやんよ!!!』 <!--?php echo $htmlComment['end']; ?-->
<!-- start 出力してやんよ!!! 『第○週の○曜日に出てきてやんよ!!!』 出力してやんよ!!! end -->
<!--出力してやんよ!!!start --> 『第○週の○曜日に出てきてやんよ!!!』 <!--出力してやんよ!!!endt -->