'<option value="'.$i.'">'.$i.'</option>'の部分が一つの文字列を形成しているわけではありません。分解すると、下記のようになります。
PHP
1<?php
2for ($i = 6; $i <= 100; $i++) {
3 echo
4 '<option value="' // <option value=" という文字列
5 . // 文字列結合演算子
6 $i // 数値 $i を表現する文字列 (文字列結合演算子により自動変換)
7 . // 文字列結合演算子
8 '">' // "> という文字列
9 . // 文字列結合演算子
10 $i // 数値 $i を表現する文字列 (文字列結合演算子により自動変換)
11 . // 文字列結合演算子
12 '</option>' // </option> という文字列
13 ;
14}
'<option value="'が'…'と引用符(')で囲まれているのは表示したい文字列「<option value="」の中に二重引用符(")があるからです。"…"と二重引用符(")で囲んでしまうと、エスケープしない限り使えません。'">'も同じ理由です。最後の'</option>'は引用符(')でも二重引用符(")のどちらで囲っても問題ありませんが、統一性を考慮して引用符(')を使用しているのだと思われます。
そして、.は文字列結合演算子であり、前後の文字列を結合しているだけです。言ってみれば+の文字列版みたいなものです。$iは数値ですが、文字列結合演算子で結合するときは自動的に数値を表す文字列になります。上のはコードはやり過ぎですが、わかりやすくなるように演算子の前後は空白を開けて、
'<option value="' . $i . '">' . $i . '</option>'
と書くと理解がしやすくなると思います。
2015/10/12 11:02
退会済みユーザー
2015/10/12 12:40
2015/10/12 13:22
2015/10/12 14:57