- ベストアンサー
PHPプログラミングです。
PHP言語の質問です。 ドロップダウンボックスの中身の意味がわかりません。 具体的には $i=10; while($i<=70){ print(<’option value="'.$i.'">'.$i.'歳</option>’); $i++; } このプログラムなんですが、 3行目の(<’option value="'.$i.'">'.$i.'歳</option>’)の中にある、 "'.$i.'" と '.$i.'歳 の両端ある”” ’’ .. '' がなぜ必要なのかわかりません。 それぞれ、なんのためにあるのか教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
初めのクォートの位置がちょっとずれてますね。 print(<'option value="'.$i.'">'.$i.'歳</option>'); じゃなくて print('<option value="'.$i.'">'.$i.'歳</option>'); ですよね。 出力したものをみればわかると思いますが、 value= の後のダブルクォートは画面に出力されていますよね? 1.最初のシングルクォートから次のシングルクォートまでが文字列として出力されます。 2.その後の$iと、最初の文字列を結合するのが、両者の間にあるドットです。 3.その後は同じ要領で文字列と変数$iをくっつけてるだけです。 他の方の回答のように分けて出力するのもアリですし、今回のような書き方もアリです。 プログラムソースとしては今回のような書き方が普通だと思います。 また、ダブルクォートで文字列を出力すれば、結合演算子(ドット)はいらなくなります。 こんな感じ。 print("<option value=\"$i\">$i歳</option>"); どっちが見やすいと感じるかはその人次第だし、これがアンカータグでJSのイベントとか呼ぶ時に引数にシングルクォートついいたりして、かえって見づらい感じにもなるので、適時見やすい書き方でよいかなと思います。 余計なお世話ですが、他人が読んでも分かりやすいコードをお互い心がけましょう。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5239/13707)
シングルクオートで囲まれた範囲はprint関数で出力する文字列です。 出力する文字列と変数の間にあるピリオドは結合演算子と言って、文字列と文字列をくっつけて一つの文字列にするためのも物です。 書かれているプログラムのprint関数の部分は小分けにすると以下のようになります。 これでは長ったらしいので、一行にまとめて書いているだけです。 print ('< option value="'); print ($i); print ('">'); print ($i); print (''歳</option>');