PHPで文字を表示するには、echo を使用します。(print命令やecho短縮構文などでも出力できますがあまり差異はないので、一般的なecho命令のみ紹介します)
echoに続きシングルクォーテーションで出力したい文字列を囲みます。(注意:シングルクォーテーション中でシングルクォーテーションはそのまま使えません。後述の「シングルクォーテーションを表示するには」を参照して下さい)
サンプル
<?php echo '<p>Hello World</p>'; ?>
デモ
Hello World
変数はシングルクォーテーションで囲まず直接記述すると内容が表示されます。(誤ってシングルクオートで囲むと変数名が表示されます)
サンプル
<?php $name='山田太郎'; $age=20; echo '<p>名前は'; echo $name; echo '、年齢は'; echo $age; echo '歳</p>'; echo '<p>誤って囲ってしまうと下記のように変数名が表示されます<br>'; echo '$name'; //シングルクオートあり echo '</p>'; ?>
デモ
名前は山田太郎、年齢は20歳
誤って囲ってしまうと下記のように変数名が表示されます
$name
.
半角ドットを使用すると複数の値を接続する事ができます。
サンプル
<?php $name='山田太郎'; $age=20; echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; ?>
デモ
名前は山田太郎、年齢は20歳
ダブルクォーテーションで囲むと文字列中の変数やエスケープシーケンス(/で始まる特殊文字)を解釈します。
注意1:ダブルクォーテーション中でダブルクォーテーションはそのまま使えません。後述の「ダブルクォーテーションを表示するには」を参照して下さい
注意2:変数の後にはスペースを入れないと正しく展開できない事があります。例えば下記の場合は $name
と、
の間にスペースを入れないと表示されません。
サンプル
<?php $name='山田太郎'; $age=123; echo "<p>名前は$name 、年齢は$age 歳</p>"; //注:変数の後ろにスペースを入れないと正しく表示できない事がある //スペースを入れたくなければ区切って 「.」で繋げて回避 //echo "<p>名前は$name"."年齢は$age"."歳</p>"; ?>
デモ
名前は山田太郎 、年齢は123 歳
通常はシングルクォーテーションを使った方が誤表示の問題が無く変数やエスケープシーケンスの確認時間が無いため高速です。しかしシングルクォーテーションで複数の文字列や変数を接続する場合は .
'
が多くなるのでダブルクォーテーションを使用した方が見いソースコードになります。
シングルクォーテーション中にシングルクォーテーションは使えないので下記のように対処して下さい。
サンプル
//ダブルクォーテーションで囲む echo "<p>「'」シングルクォーテーションを表示できます</p>"; //部分的に使う場合は「"'"」だけ分けて.で接続 echo '<p>「'."'".'」<シングルクォーテーションを使えます</p>';
デモ
「'」シングルクォーテーションを表示できます
「'」<シングルクォーテーションを使えます
ダブルクォーテーション中にダブルクォーテーションは使えないので下記のように対処して下さい。
サンプル
//シングルクォーテーションで囲む echo '<p>「"」ダブルクォーテーションを表示できます</p>'; //変数を展開したい場合はダブルクォーテーション部分と変数部を分けて.で接続 $name='山田太郎'; echo '<p>「"」ダブルクォーテーション部と「'."$name".'」変数部を分ける</p>';
デモ
「"」ダブルクォーテーションを表示できます
「"」ダブルクォーテーション部と「山田太郎」変数部を分ける
echo中でも計算が可能です。他の文字や数字と接続する場合は式を()
で囲む必要があります。
サンプル
<?php $x=1; $y=2; echo '<p>'; echo $x+$y+3; //単独なら()不要 echo '<br>'; echo '答えは='.($x+$y+3).'<br>'; //他の文字と接続する時は()が必要 echo '</p>'; ?>
デモ
6
答えは=6