気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHPサンプルコード
  2. 3 view

桁数の異なる日付で2つの年月が一致するか調べる

2つの日付の年月が同じか調べるには、文字列を比較する方法もありますが、月が1桁(1月)だったり2桁(12月)だったりすると、「先頭から6文字が一致するか」と比較してもうまくいきません

日付を配列に格納してarray_diff関数で差分を取ると簡単です。日付から配列を作成する処理は、「2012/8/1」のように年月日が「/」で区切られた日付をexplode関数で配列に分割する処理がおなじみです。

explode関数の3番目のパラメータで負の数(-n)を指定すると、最後のn個は配列に格納されません。これを利用して、「explode(“/”, “2012/8/1”, -1)」と記述して年月日の「日」を配列に格納しないようにすれば、配列の差分を求めるarray_diff関数で年月のみを比較することができます。

<?php
// 2つの年月を配列に格納
$d1 = explode("/", "2012/8/1", -1);
$d2 = explode("/", "2012/8/31", -1);

// 2つの年月の差分を調べる
if (count(array_diff($d1, $d2)) == 0) {
    echo "同じ年月です。";
} else {
    echo "同じ年月ではありません。";
}
?>

○実行結果

同じ年月です。

PHPサンプルコードの最近記事

  1. PHPでアラートを表示する

  2. ランダムなパスワードを自動生成する

  3. 配列をランダムに並べ替える(おみくじ・抽選プログラムを例に)

  4. n番目の文字を取得する

  5. 13日の金曜日を表示する

関連記事

PAGE TOP