
phpで、今日の日付から現在の4月から始まる年度を判別して一覧を作成する方法
php関連記事

PHPのmb_send_mailでメール送信時に、はしご高「髙」やたつさき「﨑」など旧漢字や丸数字の日本語文字化け対策をする

MySQL/MariaDBのデータをPHP側で暗号化・復号する

phpで10進数と16進数、2進数、8進数の変換と0埋め表記

WordPressの条件分岐タグでページを判別する

PHPでpreg_splitの文字化けを回避しながらテキストを改行ごとに区切ってHTMLメールをつくる

WordPressテーマアップロード時に「辿ったリンクは期限が切れています。 もう一度お試しください。」と表示される

PHPで画像アップロード時に比率を保ったまま縮小する

phpで郵便番号を正規表現で3桁・ハイフン・4桁で出力するfunction

phpで電話番号のハイフンを正規表現で出力するfunction
1月以降の西暦が変わる問題を解決する
php
//今日の日付の1日から3か月戻す
$year = date("Y-m-01", strtotime("-3 month"));
//西暦だけを取得
$year = date("Y",strtotime($year));
今日の日付から、3か月戻すことで、1月~3月も現在の西暦で計算されてしまうことを防ぐ。
また、今日の日付からではなく、当月の1日に戻すことでstrtotime("-3 month")で正しくない日付が出力される問題も解決できる。
月ごとに西暦を入れたいので、$yearは、年だけにしておく。
月ごとに西暦を格納する
php
//月を格納
$mon_num = array();
for ($i=4; $i <= 12; $i++) {
$mon_num[] = $i;
}
//最終的に利用する年度の配列
$ym = array();
foreach ($mon_num as $m) {
$ym[] = array($year, $m);
}
//1月以降を追加
$mon_num = array('1', '2', '3');
foreach ($mon_num as $m) {
$ym[] = array($year+1, $m);
}
出力結果
php
array(12) {
[0]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(4)
}
[1]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(5)
}
[2]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(6)
}
[3]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(7)
}
[4]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(8)
}
[5]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(9)
}
[6]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(10)
}
[7]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(11)
}
[8]=>
array(2) {
[0]=>
string(4) "2020"
[1]=>
int(12)
}
[9]=>
array(2) {
[0]=>
int(2021)
[1]=>
string(1) "1"
}
[10]=>
array(2) {
[0]=>
int(2021)
[1]=>
string(1) "2"
}
[11]=>
array(2) {
[0]=>
int(2021)
[1]=>
string(1) "3"
}
}


コメント