勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPにて西暦から干支(十二支)を計算し表示する方法

  PHP

先日MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表示する方法をメモしたが、PHPでも同じようなことをしたい。以下に対応方法をメモ。

 

対応方法

ソースコード

<?php
$eto_list = array(
    '子(ねずみ)',
    '丑(うし)',
    '寅(とら)',
    '卯(うさぎ)',
    '辰(たつ)',
    '巳(み)',
    '午(うま)',
    '未(ひつじ)',
    '申(さる)',
    '酉(とり)',
    '戌(いぬ)',
    '亥(い)',
);

for( $year = 2008; $year <= 2020; $year++ ){
    $eto = $eto_list[($year - 4) % 12];
    echo $year . "年 " . $eto . "\n";
}

出力結果

2008年 子(ねずみ)
2009年 丑(うし)
2010年 寅(とら)
2011年 卯(うさぎ)
2012年 辰(たつ)
2013年 巳(み)
2014年 午(うま)
2015年 未(ひつじ)
2016年 申(さる)
2017年 酉(とり)
2018年 戌(いぬ)
2019年 亥(い)
2020年 子(ねずみ)

 - PHP

  関連記事

formのinput=
formのinput="file"でディレクトリを選択させ、ディレクトリ内のファイルを全てアップロードする方法

フォームで複数のファイルをアップロードしたい場合、input="file"を複数 ...

MySQLで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
MySQLで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法

phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...

LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法
LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法

以前にメモしたPHPのLeagueCSV(thephpleague / csv) ...

PHPのログイン認証をPEAR::Authパッケージで実装する方法
PHPのログイン認証をPEAR::Authパッケージで実装する方法

PHPのシステムである程度ちゃんとしたログインシステムが必要になった。今までログ ...

phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法
phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法

CodeIgniterを勉強していた際に各種設定は「.env」というファイルに記 ...