どうも、こんにちは。
PHPを勉強し始めて自分でwebアプリを作り出した頃、一番詰まったのは意外にも文字列や変数の結合やクォーテーションをどうしたら良いのか?
でした。
見よう見真似で書いてみるんですけど、なんかしっくりこないというか人によって違うので混乱していたのを覚えています。
そこで、今回は自分の書き方を紹介します。
例えば、PHPの中でこんな感じのformのinputを書きたかったとしましょう。
print'<input type="hidden" name="user" value="'.$simei.'">';
PHPのprint文を使ってhtmlを書くのですが、中にvalueの具体的な中身はPHPの変数にしたいとしましょう。
この時、type属性のhiddenやvalueの中身をダブルクォーテーションで書いたなら、<input のhtml属性はダブルコーテーションにするとエラーになります。
なので、printの後は、シングルコーテーションで書きます。print'<input となります。
そして、このシングルクォーテーションはhtml要素まで続くので、$simeiの前まで続きます。
正確には、value=”のこの1個目のダブルクォーテーションまでがhtmlなのでここまで続きます。
だから、value=”‘はvalue=”のダブルクォーテーション、これはhtmlですが、次の’のシングルクォーテーションはhtmlの終わり、つまり、print’のシングルクォーテーションに対応した閉じる終わりの部分となります。
そして、value=”‘でhtmlにPHPの変数を結合するのでドットで繋げます。
だから.$simeiとなっています。
そして、$simeiのphp部分と次のhtmlの結合するために、またドットで繋げます。
だから、$simei.となっています。
そして、この後からまたhtml要素が続くので、
$simei.’というようにシングルクォーテーションが入ります。
そして、valueの中身なので、その後にダブルクォーテーションが入ってきます。
$simei.'”となります。
シングルクォーテーションで再びhtmlが始まることを伝えて、それからhtmlのダブルクォーテーションが入る訳です。
そして、$simei.'”>’の部分、>でformが閉じてhtmlが終わるので、>’のようにシングルクォーテーションが入って終わります。
このようにhtmlの部分とPHPの部分を意識すると考えながら自分で書けるようになります。htmlとphpはドットで結合、これも忘れやすいので注意ですね!
コメント