http://ryus.s21.xrea.com/ryus.xrea.jp/stationery/php_calen.shtml
に掲載されている万年カレンダー『php_c2.lzh』 中に含まれるcalendar3.phpのPHPの記述の部分にコメントを付け足してわかり易く解説してくださるようお願いします。
ちなみに私は現在PHP勉強中で、PHPのレベルは初心者並です。このプログラムの中身を理解したいのですが、どうも理解できず困っています。どうぞ宜しくお願いします。
http://php.planetmirror.com/manual/ja/index.php
PHP: - Manual
URLはダミーです。
コメントがちゃんと入ってますけど・・・(^^;
入っているコメント以上に細かくということなんでしょうか。
http://www.php.net/manual/ja/language.operators.comparison.php
PHP: 比較演算子 - Manual
URLは「三項演算子」の解説です。
95: $fg_ch = (substr($QUERY_STRING,9,1)==”1”) ? true : false;
96: $fg_d = (($yr == $d_yr) && ($mon == $d_mn)) ? true : false;
$QUERY_STRING は URL クエリ文字列で9番目から一文字が ”1” なら true 、
違えば false が $fg_ch に入ります。(ここは月の移動があった場合に1が入
っているようです)
$fg_d は表示年/月が現在の年/月と同じかどうかの判定で、同じであれば「本
日へ」のリンクに変わるようです(117〜118行目)
$wday は変数名どおり曜日だとおもわれます。215行目の $wday % 7 という計算
は0〜6以外の数値を扱わないことであり、この数は0が日曜日〜6が土曜日までを
表します。
$○○ = ×× ? □□ : △△;
という書き方はURLに示した「三項演算子」にあたります。
いわゆる if 文の短縮形で、? の前の式が true なら □□ 、 false なら △△
が値となります。
※PHP使ったこと無いので、細かい文法まではわかりませんが・・・
非常に分かりやすい解答をありがとうございました。
おかげでプログラムの流れはたいたい理解することができました!
すみません、質問が曖昧でした。
ご質問のとおり、入っているコメント以上に細かくコメントが欲しいということです。
より具体的にどのあたりのコメントが欲しいかと言うと、次の2点です。
1.
95行目の$fg_ch、96行目の$fg_d、111行目の$wdayの変数の説明
2.
95行目のようにプログラム中のどところどころで出てくる
$○○ = ×× ? □□ : △△;
という書式の説明
この2点の部分についてコメントをいただけると助かります。