>Web【PHP】1ヶ月分のカレンダーコードをプログラミングで作成してみよう!【プログラミング初心者が独学で1から掲示板サイトを作れるのか?Part6】2020年12月4日こんにちは、穏やか暮らし計画ライターのあらです。前回の記事では、for文やwhille文を使って「繰り返し」というものをやってみました。今回はこれまで習ったことを応用して、1ヶ月分のカレンダーをプログラミングで作成してみたいと思います。この記事はシリーズもののブログ記事です。#1の(プログラミング初心者が独学で1から掲示板サイトを作れるのか?【始めた理由と目標編】)から見ていない方は#1からぜひ見てみてください。1ヶ月分のカレンダーを表示させるには今回のカレンダーは、11/22(Sun)からの1ヶ月間の日付を作成していきます。カレンダーを作成するので、日付関数のdate関数を利用していきます。流れとしては、for文で1~31までの数字を繰り返しdate文で今日から1~31日後までの日付を月/日(曜日)に組み込むprintで組み込んだdate文を表示させる全体的にこのような感じになります。自分でコードを書いてみたので見ていきましょう。見切れてしまっていますが、11月23日からの1ヶ月分の日付が表示されていました。それでは1つ1つコードの解説をしていこうと思います。1ヶ月カレンダーコードの解説1ヶ月カレンダー【for文編】for文の部分は前回の記事で解説しているので、そこまで説明することがないですが、$i=1はスタート値。$i=0にすると今日を含めて31日後まで、$i=7にすると7日後から31日後までの日付、11/29~12/23まで表示されることになります。for文の真ん中、$i<=31の部分は終わり値。$i<=365にすれば1年後までの日付を表示させることも可能です。自分は表示結果を確認しづらくなりそうなので、1ヶ月カレンダーにしました。$i++は$i=$i+1と同じ意味のコードになります。この部分も変えることで今日から1年前までの日付、偶数分の日付だけを表示させることも可能になりまし。このfor文がよくわからない方は前回の記事で詳しく説明しているので、そちらをご覧ください。1ヶ月カレンダー【date編】date関数はdate()でかっこの中に指定の英文字を入れることによって、現在の時間や日にちなど色々表示させることができるようです。Yというのは4桁表記の年を表すための文字になります。現在の年になったので、予想通りの結果になりました。このようにdate関数の中に自分が表示したい文字を入れれば、printで表示させることができます。出典:PHPで日付関数を使いこなす(date,strtotime)-Qiitaそして、date関数にはもう1つの使い方があります。それはタイムスタンプを指定できることです。dateには2個目の値を変化させる変数を付け加えることができます。いうことかと言うと、上記の画像でみるとstrtotimeで現在(Y)からちょうど1年後の日付を変数($year)に代入しています。現在2020年の1年後は2021なので、このコードを実行してみると、ちゃんと2021という表示結果が出たのでクリアです。これでdate、strtotimeの使い方はマスターできたので、for文と組み合わせて使ってみましょう。for文とdate文を組み合わせてみるこちらがfor文とdate文を組み合わせたコードになります。date('n/j(D)')は、n(月)、j(日)、D(英文字の曜日)で表示するように指定しています。strtotimeの()の中身ですが、for文で$iが1の場合は1日後、$iが2の場合は2日後....というように現在から1〜31日後まで実行されるようになっています。私はこれに気づけるまで、結構時間がかかりました。していて、参考書を見てもstrtotimeの中身の説明はありませんでした。個人的に1番難しいところでした。最後にこれで1ヶ月カレンダーを作成するコードは完成になります。1度わかってしまえば、とても納得できるコードなので、1年後までだったり、年だったり色々コードをいじってみたくなりました。複雑なコードになってきましたが、一個ずつ全てのコードの意味がわかるようになるまで、詰めていければなと思っています。【PHP】for文、while文を使って繰り返し文を作る!【プログラミング初心者が独学で1から掲示板サイトを作れるのか?Part5】odayakakurashi.com関連TwitterSharePocketHatenaLINEURLコピーこの記事を書いた人ara【AFFINGER6を使ってブログ初心者でも思い通りのサイト運営ができる】をテーマに記事を発信。高校生からブログを始め、特化型ブログでは1年以内に最高月30万PVを達成。特化型ブログの経験を生かし、「MyHP」を立ち上げました。プログラミング初心者が掲示板サイトを作ってみた。【PHP】配列を学んで曜日を日本語に変えて表示させてみる!【プログラミング初心者が独学で1から掲示板サイトを作れるのか?Part7】ara【AFFINGER6を使ってブログ初心者でも思い通りのサイト運営ができる】をテーマに記事を発信。高校生からブログを始め、特化型ブログでは1年以内に最高月30万PVを達成。特化型ブログの経験を生かし、「MyHP」を立ち上げました。