• ベストアンサー

PHPプログラミングです。

PHP言語の質問です。 ドロップダウンボックスの中身の意味がわかりません。 具体的には $i=10; while($i<=70){ print(<’option value="'.$i.'">'.$i.'歳</option>’); $i++; } このプログラムなんですが、 3行目の(<’option value="'.$i.'">'.$i.'歳</option>’)の中にある、 "'.$i.'" と '.$i.'歳 の両端ある”” ’’ .. '' がなぜ必要なのかわかりません。 それぞれ、なんのためにあるのか教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 1minn
  • ベストアンサー率57% (52/90)
回答No.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)
回答No.1

シングルクオートで囲まれた範囲はprint関数で出力する文字列です。 出力する文字列と変数の間にあるピリオドは結合演算子と言って、文字列と文字列をくっつけて一つの文字列にするためのも物です。 書かれているプログラムのprint関数の部分は小分けにすると以下のようになります。 これでは長ったらしいので、一行にまとめて書いているだけです。 print ('< option value="'); print ($i); print ('">'); print ($i); print (''歳</option>');

参考URL:
http://www.php.net/manual/ja/language.operators.string.php

関連するQ&A