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

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

第3金曜日を求める

<html>
<head>
<title>第3金曜日を求める</title>
</head>
<body>
<?php
// 求める曜日(年、月、週番号、曜日)
$y = 2012;
$m = 3;
$n = 3;
$w = "金";

echo "<p>{$y}年{$m}月の第{$n}{$w}曜日</p>";
echo "<p>日付:" . get_numberx_weekday($y, $m, $n, $w) . "日</p>";

// ------------------------------------------------------------
// 指定年月のx番目のx曜日の日付を取得
// ------------------------------------------------------------
// パラメータ(年、月、週番号、曜日)
// ------------------------------------------------------------
function get_numberx_weekday($y, $m, $n, $w) {

// 曜日テーブルから曜日番号を取得
$ar_wd = array("日", "月", "火", "水", "木", "金", "土");
$search_week_day = array_search($w, $ar_wd);

// 指定曜日の最初の日付を取得して指定週の日付を算出
$first_weekday = date("w", mktime(0, 0, 0, $m, 1, $y));
$result_day = $search_week_day - $first_weekday + 1;
if ($result_day < 1) {
$result_day += 7;
}
$result_day = $result_day + ($n - 1) * 7;
if ($result_day > 31) {
return 0;
}
return $result_day;
}
?>
</body>
</html>

PHPによるWebアプリケーションスーパーサンプル第2版 「6-4-9 第2月曜日を求める」より)

○実行結果

2012年3月の第3金曜日日付:16日

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

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

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

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

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

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

関連記事

PAGE TOP