PHP

ポータルサイトを構築している中で「誕生日から年齢を算出する」機能を盛り込むことが
あったので簡単にはなりますが、参考ソースを残しておきます。

<?php
     $now = date(‘Ymd’);
     $birthday  = ‘1980-01-01’;
     $birthday = replace(“-“, “”, $birthday);
     echo floor(($now – $birthday)/10000);
?>

ハイフンを削った日付でシステム日付と誕生日の差分を10000で割った数字が年齢になります。
少数点以下は切り捨てになるのでfloor関数を使用しています。

PHP 誕生日から年齢を算出する

ポータルサイトを構築している中で「誕生日から年齢を算出する」機能を盛り込むことが
あったので簡単にはなりますが、参考ソースを残しておきます。

<?php
     $now = date(‘Ymd’);
     $birthday  = ‘1980-01-01’;
     $birthday = replace(“-“, “”, $birthday);
     echo floor(($now – $birthday)/10000);
?>

ハイフンを削った日付でシステム日付と誕生日の差分を10000で割った数字が年齢になります。
少数点以下は切り捨てになるのでfloor関数を使用しています。

IF文を1行で書く

多分岐の条件を必要とせずにある条件をもとに簡単な処理を追加したい場合などで、毎回IF文を{}で括って改行していたりとするとソースコード上汚くなってしまいます。
簡潔にまとめられるところは極力まとめる形が望ましいです。

特にIF文はよく利用される構文でもあり、その利用頻度の高さから1行でまとめる効果は絶大です。

 

IF文の基本形

if ( 条件式 ) {
     // 条件 = 真の場合に行う処理
else {
    // 条件 = 偽の場合に行う処理
}

例として以下の条件式があった場合

If ( $language == ”Jp’) {
    echo  ‘こんにちわ’;
else {
    echo  ‘Hello’;
};

IF文を1行でまとめる

●こんにちわを出力する

if ( $language == ”Jp’ ) echo ‘こんにちわ’;

●Helloを出力する

if ( !$language == ”Jp’ ) echo ‘Hello’;

※IFではなく、三項演算子で書く場合

IFではありませんが、三項演算子を使ってもコードを綺麗にまとめることができます。

 $msg = ( $language == ‘Jp’) ? ‘こんにちわ’ : ‘Hello’;

IF文で「こんにちわ」も「Hello」もカバーして1行でコードをまとめたいような場合は、
上記のような三項演算子を使用する手段もあります。