PHPでカレンダー作成を勉強しています。
勉強のため、以下のサンプルコードを解釈しています。
その中で、ソースコードの最後に、3つのバーダンプを使用して、どのような出力を内部でされているのか、出力したところブラウザには以下の、コードが表示されました。
私の想定では、
「$week」であれば、月の1~12の数字のいずれが表示され。
「$youbi」であれば、月~日の文字のいずれが表示され。
るものと想定していました。
しかし、バーダンプ出力したところブラウザには以下の、コードが表示されました。
string(351) ""
array(0) {
}
int(70)
特に、(351) や、(70)がに何を意味し、なぜ、このような数字をソースコードの中で扱っているのか、ご教示いただけますでしょうか。
該当のソースコード
<?php // タイムゾーンを設定 calen_01 date_default_timezone_set('Asia/Tokyo'); // 前月・次月リンクが押された場合は、GETパラメーターから年月を取得 if (isset($_GET['ym'])) { $ym = $_GET['ym']; } else { // 今月の年月を表示 $ym = date('Y-m'); }; //タイムスタンプを作成し、フォーマットをチェックする $timestamp = strtotime($ym . '-01'); if ($timestamp === false) { $ym = date('Y-m'); $timestamp = strtotime($ym . '-01'); } //今日の日付フォーマット $today = date('Y-m-j'); //カレンダーのタイトルを作成 $html_title = date('Y年n月' , $timestamp); //前月・次月の年月を取得する $prev = date('Y-m' , mktime(0, 0, 0, date('m' , $timestamp)-1 , 1, date('Y' , $timestamp))); $next = date('Y-m' , mktime(0, 0, 0, date('m' , $timestamp)+1 , 1, date('Y' , $timestamp))); //その月の日数を取得 $day_count = date('t' , $timestamp); //1日が何曜日か $youbi = date('W' , $timestamp); //カレンダー作成の準備 $weeks = []; $week = ''; //第1週目;空セルを追加する $week .= str_repeat('<td></td>', $youbi); for ($day = 1; $day <= $day_count; $day++, $youbi++); echo ('<pre>'); var_dump($week); var_dump($weeks); var_dump($youbi); echo ('</pre>'); ?>
回答2件
あなたの回答
tips
プレビュー