この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
php:php_print-echo [2018/12/30 13:35] 管理者 |
php:php_print-echo [2019/01/13 22:25] 管理者 [ダブルクォーテーション] |
||
---|---|---|---|
ライン 3: | ライン 3: | ||
---- | ---- | ||
- | ===== 使い方 ===== | + | ===== 基本的な使い方 ===== |
- | ==== 文字列の表示 ==== | + | ===== 文字列表示 ===== |
- | echoに続きシングルクォーテーションで出力したい文字列を囲みます。(注意:シングルクォーテーション中でシングルクォーテーションはそのまま使えません。後述の「シングルクォーテーションを表示するには」を参照して下さい) | + | 文字列を出力する場合は出力する文字列をシングルクォーテーションで囲みます。 |
+ | |||
+ | 注意点は、「I'm sorry」などシングルクォーテーションを含む文字列は使用できません。(解決策は後述のダブルクォーテーションを使います) | ||
<code php> | <code php> | ||
ライン 15: | ライン 17: | ||
</code> | </code> | ||
- | **デモ** | + | **結果** |
<php> | <php> | ||
ライン 21: | ライン 23: | ||
</php> | </php> | ||
- | ==== 変数の表示 ==== | + | ==== ダブルクォーテーション ==== |
- | 変数はシングルクォーテーションで囲まず直接記述すると内容が表示されます。(誤ってシングルクオートで囲むと変数名が表示されます) | + | シングルクォーテーション時は文字列しか出力できませんでしたが、ダブルクォーテーションでは変数や特殊文字(改行や記号などのエスケープシーケンス)を出力できます。 |
+ | |||
+ | 注意点は、文字列中の「\」「"」と「$」(変数以外で)を使用する場合はこの各文字の前に半角バックスラッシュ「\」をつけ、「\\」「\"」「\$」として下さい(半角バックスラッシュは言語設定などにより「¥」(半角円記号)と表示される場合があります)。また単純な文字列出力の場合はシングルクォーテーションより処理速度が遅くなります。 | ||
<code php> | <code php> | ||
<?php | <?php | ||
- | $name='山田太郎'; | + | $str='Hello World'; |
- | $age=20; | + | echo '<p>シングル:$str ・・変数展開不可</p>'; |
- | + | echo "<p>ダブル:$str ・・・変数展開可能</p>"; | |
- | echo '<p>名前は'; | + | echo "<p>ダブル:\$str ・・・エスケープシーケンスで変数を展開しない</p>"; |
- | echo $name; | + | echo "<p>ダブル:\'\" ' ・・エスケープシーケンスでダブルとシングルクォートを表示可能</p>"; |
- | echo '、年齢は'; | + | |
- | echo $age; | + | |
- | echo '歳</p>'; | + | |
- | echo '<p>誤って囲ってしまうと下記のように変数名が表示されます<br>'; | + | |
- | echo '$name'; //シングルクオートあり | + | |
- | echo '</p>'; | + | |
?> | ?> | ||
</code> | </code> | ||
- | **デモ** | + | **結果** |
<php> | <php> | ||
- | $name='山田太郎'; | + | $str='Hello World'; |
- | $age=20; | + | echo '<p>シングル:$str ・・変数展開不可</p>'; |
- | + | echo "<p>ダブル:$str ・・・変数展開可能</p>"; | |
- | echo '<p>名前は'; | + | echo "<p>ダブル:\$str ・・・エスケープシーケンスで変数を展開しない</p>"; |
- | echo $name; | + | echo "<p>ダブル:\'\" ' ・・エスケープシーケンスでダブルとシングルクォートを表示可能</p>"; |
- | echo '、年齢は'; | + | |
- | echo $age; | + | |
- | echo '歳</p>'; | + | |
- | echo '<p>誤って囲ってしまうと下記のように変数名が表示されます<br>'; | + | |
- | echo '$name'; //シングルクオートあり | + | |
- | echo '</p>'; | + | |
</php> | </php> | ||
- | ==== 文字列の接続 ==== | + | ** エスケープシーケンス ** |
- | ''.''半角ドットを使用すると複数の値を接続する事ができます。 | + | 次の文字を記述すると説明の文字が表示されます。 |
+ | |||
+ | ^記述^説明^ | ||
+ | |\\|\を表示、\x5Cの記述と同じ| | ||
+ | |\$|$を表示、\x24の記述と同じ| | ||
+ | |\n|復帰(carriage return)、\x0Dの記述と同じ| | ||
+ | |\r|改行(newline)、\x0Aの記述と同じ| | ||
+ | |\t|タブ、\x09の記述と同じ| | ||
+ | |\"|"を表示、\x22の記述と同じ| | ||
+ | |\'|'を表示、\x27の記述と同じ| | ||
+ | |\(|(を表示、\x28の記述と同じ| | ||
+ | |\)|)を表示、\x29の記述と同じ| | ||
+ | |\[|[を表示、\x5Bの記述と同じ| | ||
+ | |\]|]を表示、\x5Dの記述と同じ| | ||
+ | |\x??|文字コードから表示(??は16進数00~FF)、\x41\x42ならABと表示| | ||
+ | |||
+ | ===== 高度な使い方 ===== | ||
+ | |||
+ | ==== 直接表示 ==== | ||
+ | |||
+ | 変数や数字を直接表示する場合にはシングルクォーテーションやダブルクォーテーションは不要です。 | ||
<code php> | <code php> | ||
<?php | <?php | ||
- | $name='山田太郎'; | + | $str='Hello World'; |
- | $age=20; | + | echo '<p>'; |
- | + | echo $str; | |
- | echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | + | echo '</p>'; |
+ | echo '<p>'; | ||
+ | echo 12345; | ||
+ | echo '</p>'; | ||
?> | ?> | ||
</code> | </code> | ||
- | **デモ** | + | **結果** |
<php> | <php> | ||
- | echo '<div class="demo">'; | + | $str='Hello World'; |
- | $name='山田太郎'; | + | echo '<p>'; |
- | $age=20; | + | echo $str; |
- | + | echo '</p>'; | |
- | echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | + | echo '<p>'; |
- | echo '</div>'; | + | echo 12345; |
+ | echo '</p>'; | ||
</php> | </php> | ||
- | ==== ダブルクォーテーション ==== | + | ==== 文字列の接続 ==== |
- | ダブルクォーテーションで囲むと文字列中の変数やエスケープシーケンス(/で始まる特殊文字)を解釈します。 | + | |
- | 注意1:ダブルクォーテーション中でダブルクォーテーションはそのまま使えません。後述の「ダブルクォーテーションを表示するには」を参照して下さい | + | ''.''半角ドットを使用すると複数の値を接続する事ができます。 |
- | + | ||
- | 注意2:変数の後にはスペースを入れないと正しく展開できない事があります。例えば下記の場合は ''$name''と''、''の間にスペースを入れないと表示されません。 | + | |
<code php> | <code php> | ||
<?php | <?php | ||
$name='山田太郎'; | $name='山田太郎'; | ||
- | $age=123; | + | $age=20; |
- | + | echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | |
- | echo "<p>名前は$name 、年齢は$age 歳</p>"; | + | |
- | //注:変数の後ろにスペースを入れないと正しく表示できない事がある | + | |
- | //スペースを入れたくなければ区切って 「.」で繋げて回避 | + | |
- | //echo "<p>名前は$name"."年齢は$age"."歳</p>"; | + | |
?> | ?> | ||
</code> | </code> | ||
ライン 102: | ライン 111: | ||
<php> | <php> | ||
- | echo '<div class="demo">'; | ||
$name='山田太郎'; | $name='山田太郎'; | ||
- | $age=123; | + | $age=20; |
- | + | echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | |
- | echo "<p>名前は$name 、年齢は$age 歳</p>"; | + | |
- | echo '</div>'; | + | |
</php> | </php> | ||
- | 通常はシングルクォーテーションを使った方が誤表示の問題が無く変数やエスケープシーケンスの確認時間が無いため高速です。しかしシングルクォーテーションで複数の文字列や変数を接続する場合は ''.'' ''%%'%%'' が多くなるのでダブルクォーテーションを使用した方が見いソースコードになります。 | + | ==== 変数計算 ===== |
- | + | 計算が可能です。他の文字や数字と接続する場合は式を''()''で囲む必要があります。 | |
- | ==== シングルクォーテーションを表示するには ==== | + | |
- | シングルクォーテーション中にシングルクォーテーションは使えないので下記のように対処して下さい。 | + | |
- | + | ||
- | <code php> | + | |
- | //ダブルクォーテーションで囲む | + | |
- | echo "<p>「'」シングルクォーテーションを表示できます</p>"; | + | |
- | //部分的に使う場合は「"'"」だけ分けて.で接続 | + | |
- | echo '<p>「'."'".'」<シングルクォーテーションを使えます</p>'; | + | |
- | </code> | + | |
- | + | ||
- | **デモ** | + | |
- | + | ||
- | <php> | + | |
- | echo '<div class="demo">'; | + | |
- | //ダブルクォーテーションで囲む | + | |
- | echo "<p>「'」シングルクォーテーションを表示できます</p>"; | + | |
- | //部分的に使う場合は.で接続 | + | |
- | echo '<p>「'."'".'」<シングルクォーテーションを使えます</p>'; | + | |
- | echo '</div>'; | + | |
- | </php> | + | |
- | + | ||
- | ==== ダブルクォーテーションを表示するには ==== | + | |
- | ダブルクォーテーション中にダブルクォーテーションは使えないので下記のように対処して下さい。 | + | |
- | + | ||
- | <code php> | + | |
- | //シングルクォーテーションで囲む | + | |
- | echo '<p>「"」ダブルクォーテーションを表示できます</p>'; | + | |
- | //変数を展開したい場合はダブルクォーテーション部分と変数部を分けて.で接続 | + | |
- | $name='山田太郎'; | + | |
- | echo '<p>「"」ダブルクォーテーション部と「'."$name".'」変数部を分ける</p>'; | + | |
- | </code> | + | |
- | + | ||
- | **デモ** | + | |
- | + | ||
- | <php> | + | |
- | echo '<div class="demo">'; | + | |
- | //シングルクォーテーションで囲む | + | |
- | echo '<p>「"」ダブルクォーテーションを表示できます</p>'; | + | |
- | //変数を展開したい場合はダブルクォーテーション部分と変数部を分けて.で接続 | + | |
- | $name='山田太郎'; | + | |
- | echo '<p>「"」ダブルクォーテーション部と「'."$name".'」変数部を分ける</p>'; | + | |
- | echo '</div>'; | + | |
- | </php> | + | |
- | ==== 変数計算 ===== | + | |
- | echo中でも計算が可能です。他の文字や数字と接続する場合は式を''()''で囲む必要があります。 | + | |
<code php> | <code php> | ||
ライン 165: | ライン 126: | ||
echo '<p>'; | echo '<p>'; | ||
echo $x+$y+3; //単独なら()不要 | echo $x+$y+3; //単独なら()不要 | ||
- | echo '<br>'; | + | echo '</p>'; |
+ | echo '<p>'; | ||
echo '答えは='.($x+$y+3).'<br>'; //他の文字と接続する時は()が必要 | echo '答えは='.($x+$y+3).'<br>'; //他の文字と接続する時は()が必要 | ||
echo '</p>'; | echo '</p>'; | ||
ライン 174: | ライン 136: | ||
<php> | <php> | ||
- | echo '<div class="demo">'; | ||
$x=1; | $x=1; | ||
$y=2; | $y=2; | ||
echo '<p>'; | echo '<p>'; | ||
echo $x+$y+3; //単独なら()不要 | echo $x+$y+3; //単独なら()不要 | ||
- | echo '<br>'; | + | echo '</p>'; |
+ | echo '<p>'; | ||
echo '答えは='.($x+$y+3).'<br>'; //他の文字と接続する時は()が必要 | echo '答えは='.($x+$y+3).'<br>'; //他の文字と接続する時は()が必要 | ||
echo '</p>'; | echo '</p>'; |