🗂

PHP 配列を利用してカレンダーを作成する

2021/02/19に公開

みなさん、こんばんは!

今日はタイトルの通り、配列を利用してカレンダーを表示する簡単なプログラムを作成する学習をしたので記録していきます。

1年のカレンダーを表示させるプログラム

dateファンクションで日付を表示

<?php 
print(date('n/j(D)));
?>
// 2/14(Sun)と表示される(作成日)

timestump(デフォルト)

print(time());
//1613308334と表示
// 1970/01/01が1秒のスタートで現在の秒数で表示

  • timeを活用して明日を表示する
print(date('n/j'(D),time( + 60 * 60 * 24)));
// 2/15(Mon)と表示される
// 今日の日付に 60秒*60分*24時間をかけることで明日を表示する

strtotimeファンクション

  • string to timestumpの略、記述されたtimestumpを表示する
print(strtime('1990/03/09'));
// 636908400と表示(自分の誕生日)

print(date('n/j'(D),strtotime(+'2day')));
// 2/16(Tue)と表示

for文を活用した記述

<?php

for($i=1; $i<=365; $i++){
  print(date('n/j(D)',strtotime('+'.$i.'day')));
  print"\n";
}
?>
  • 上記をリファクタリング
<?php
for($i=1;$i<=365; $i++){
  $date= strtotime('+'.$i.'day');
  print(date('n/j(D)',$date));
  print"\n";
}
?>

:とendfor; :とendwhile;

<?php
for($i=1;$i<=365; $i++):
  $date= strtotime('+'.$i.'day');
  print(date('n/j(D)',$date));
  print"\n";
endfor;
?>

//{}の代わりに:とendfor;で囲う(for分の場合,
while文であれば,:とforwhile;になる

カレンダーを作るプログラム(日本語の曜日,配列を利用していく)

  • dateファンクション w
  1. 数字で曜日を表す
  • 0 日曜日
  • 1 月曜日
  • 2 火曜日
  • 3 水曜日
  • 4 木曜日
  • 5 金曜日
  • 6 土曜日

配列の作り方

$変数名 = [];
// []をブラケットという
// ,で区切る
// 配列を表示するにはindex(添字(目次みたいな意味))が必要
// 配列の中身は変数なども表示できる
$week_day = ['日','月','火','水','木','金','土'];
print(week_day[date('w')]); 

今日の学び

学習のスピード感がなかなか上がらないので意識高くこうどうするぜ!

Discussion