この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
php:php_print-echo [2019/01/13 11:37] 管理者 |
php:php_print-echo [2019/01/13 22:25] 管理者 [ダブルクォーテーション] |
||
---|---|---|---|
ライン 4: | ライン 4: | ||
---- | ---- | ||
===== 基本的な使い方 ===== | ===== 基本的な使い方 ===== | ||
+ | |||
+ | ===== 文字列表示 ===== | ||
文字列を出力する場合は出力する文字列をシングルクォーテーションで囲みます。 | 文字列を出力する場合は出力する文字列をシングルクォーテーションで囲みます。 | ||
ライン 21: | ライン 23: | ||
</php> | </php> | ||
- | ===== ダブルクォーテーション ===== | + | ==== ダブルクォーテーション ==== |
- | シングルクォーテーションは文字列しか出力できませんが、ダブルクォーテーションでは変数や特殊文字(改行や記号などのエスケープシーケンス)を出力できます。 | + | シングルクォーテーション時は文字列しか出力できませんでしたが、ダブルクォーテーションでは変数や特殊文字(改行や記号などのエスケープシーケンス)を出力できます。 |
- | 注意点は、文字列中の「\」「"」と変数の接頭語以外で「$」を使用する場合はこの文字の前に「¥」をつけ、「\\」「\"」「\$」として下さい。(日本語環境では「¥」(半角円記号)が表示されますが言語設定などにより「\」(半角バックスラッシュ)が表示される場合があります)。また単純な文字列出力の場合はシングルクォーテーションより処理速度が遅くなります。 | + | 注意点は、文字列中の「\」「"」と「$」(変数以外で)を使用する場合はこの各文字の前に半角バックスラッシュ「\」をつけ、「\\」「\"」「\$」として下さい(半角バックスラッシュは言語設定などにより「¥」(半角円記号)と表示される場合があります)。また単純な文字列出力の場合はシングルクォーテーションより処理速度が遅くなります。 |
<code php> | <code php> | ||
<?php | <?php | ||
$str='Hello World'; | $str='Hello World'; | ||
- | echo '<p>シングル:$str ・・変数展開不可"</p>'; | + | echo '<p>シングル:$str ・・変数展開不可</p>'; |
- | echo "<p>ダブル:$str ・・・変数展開可能\"</p>"; | + | echo "<p>ダブル:$str ・・・変数展開可能</p>"; |
- | echo "<p>ダブル:\'\" ' ・・エスケープシーケンスでダブルとシングルクォートが表示可能\"</p>"; | + | echo "<p>ダブル:\$str ・・・エスケープシーケンスで変数を展開しない</p>"; |
+ | echo "<p>ダブル:\'\" ' ・・エスケープシーケンスでダブルとシングルクォートを表示可能</p>"; | ||
?> | ?> | ||
</code> | </code> | ||
ライン 41: | ライン 44: | ||
echo '<p>シングル:$str ・・変数展開不可</p>'; | echo '<p>シングル:$str ・・変数展開不可</p>'; | ||
echo "<p>ダブル:$str ・・・変数展開可能</p>"; | echo "<p>ダブル:$str ・・・変数展開可能</p>"; | ||
- | echo "<p>ダブル:\'\" ' ・・エスケープシーケンスでダブルとシングルクォートが表示可能</p>"; | + | echo "<p>ダブル:\$str ・・・エスケープシーケンスで変数を展開しない</p>"; |
- | echo "<p>\x41\x42</p>"; | + | echo "<p>ダブル:\'\" ' ・・エスケープシーケンスでダブルとシングルクォートを表示可能</p>"; |
</php> | </php> | ||
** エスケープシーケンス ** | ** エスケープシーケンス ** | ||
- | |\n|復帰 (carriage return) \x0D| | + | 次の文字を記述すると説明の文字が表示されます。 |
- | |\r|改行 (newline) (\x0A)| | + | |
- | |\t|タブ| | + | |
- | |\x??|文字コード、??は16進数00~ff、\x41ならA| | + | |
+ | ^記述^説明^ | ||
+ | |\\|\を表示、\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>名前は'; | + | echo '</p>'; |
- | echo $name; | + | echo '<p>'; |
- | echo '、年齢は'; | + | echo 12345; |
- | echo $age; | + | |
- | echo '歳</p>'; | + | |
- | echo '<p>誤って囲ってしまうと下記のように変数名が表示されます<br>'; | + | |
- | echo '$name'; //シングルクオートあり | + | |
echo '</p>'; | echo '</p>'; | ||
?> | ?> | ||
</code> | </code> | ||
- | **デモ** | + | **結果** |
<php> | <php> | ||
- | $name='山田太郎'; | + | $str='Hello World'; |
- | $age=20; | + | echo '<p>'; |
- | + | echo $str; | |
- | echo '<p>名前は'; | + | echo '</p>'; |
- | echo $name; | + | echo '<p>'; |
- | echo '、年齢は'; | + | echo 12345; |
- | echo $age; | + | |
- | echo '歳</p>'; | + | |
- | echo '<p>誤って囲ってしまうと下記のように変数名が表示されます<br>'; | + | |
- | echo '$name'; //シングルクオートあり | + | |
echo '</p>'; | echo '</p>'; | ||
</php> | </php> | ||
ライン 96: | ライン 104: | ||
$name='山田太郎'; | $name='山田太郎'; | ||
$age=20; | $age=20; | ||
- | |||
echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | ||
?> | ?> | ||
ライン 106: | ライン 113: | ||
$name='山田太郎'; | $name='山田太郎'; | ||
$age=20; | $age=20; | ||
- | |||
echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | echo '<p>名前は'.$name.'、年齢は'.$age.'歳</p>'; | ||
</php> | </php> | ||
- | ==== ダブルクォーテーション ==== | + | ==== 変数計算 ===== |
- | ダブルクォーテーションで囲むと文字列中の変数やエスケープシーケンス(/で始まる特殊文字)を解釈します。 | + | |
- | 注意1:ダブルクォーテーション中でダブルクォーテーションはそのまま使えません。後述の「ダブルクォーテーションを表示するには」を参照して下さい | + | 計算が可能です。他の文字や数字と接続する場合は式を''()''で囲む必要があります。 |
- | + | ||
- | 注意2:変数の後にはスペースを入れないと正しく展開できない事があります。例えば下記の場合は ''$name''と''、''の間にスペースを入れないと表示されません。 | + | |
- | + | ||
- | <code php> | + | |
- | <?php | + | |
- | $name='山田太郎'; | + | |
- | $age=123; | + | |
- | + | ||
- | echo "<p>名前は$name 、年齢は$age 歳</p>"; | + | |
- | //注:変数の後ろにスペースを入れないと正しく表示できない事がある | + | |
- | //スペースを入れたくなければ区切って 「.」で繋げて回避 | + | |
- | //echo "<p>名前は$name"."年齢は$age"."歳</p>"; | + | |
- | ?> | + | |
- | </code> | + | |
- | + | ||
- | **デモ** | + | |
- | + | ||
- | <php> | + | |
- | $name='山田太郎'; | + | |
- | $age=123; | + | |
- | + | ||
- | echo "<p>名前は$name 、年齢は$age 歳</p>"; | + | |
- | </php> | + | |
- | + | ||
- | 通常はシングルクォーテーションを使った方が誤表示の問題が無く変数やエスケープシーケンスの確認時間が無いため高速です。しかしシングルクォーテーションで複数の文字列や変数を接続する場合は ''.'' ''%%'%%'' が多くなるのでダブルクォーテーションを使用した方が見いソースコードになります。 | + | |
- | + | ||
- | + | ||
- | ==== シングルクォーテーションを表示するには ==== | + | |
- | シングルクォーテーション中にシングルクォーテーションは使えないので下記のように対処して下さい。 | + | |
- | + | ||
- | <code php> | + | |
- | //ダブルクォーテーションで囲む | + | |
- | echo "<p>「'」シングルクォーテーションを表示できます</p>"; | + | |
- | //部分的に使う場合は「"'"」だけ分けて.で接続 | + | |
- | echo '<p>「'."'".'」<シングルクォーテーションを使えます</p>'; | + | |
- | </code> | + | |
- | + | ||
- | **デモ** | + | |
- | + | ||
- | <php> | + | |
- | //ダブルクォーテーションで囲む | + | |
- | echo "<p>「'」シングルクォーテーションを表示できます</p>"; | + | |
- | //部分的に使う場合は.で接続 | + | |
- | echo '<p>「'."'".'」<シングルクォーテーションを使えます</p>'; | + | |
- | </php> | + | |
- | + | ||
- | ==== ダブルクォーテーションを表示するには ==== | + | |
- | ダブルクォーテーション中にダブルクォーテーションは使えないので下記のように対処して下さい。 | + | |
- | + | ||
- | <code php> | + | |
- | //シングルクォーテーションで囲む | + | |
- | echo '<p>「"」ダブルクォーテーションを表示できます</p>'; | + | |
- | //変数を展開したい場合はダブルクォーテーション部分と変数部を分けて.で接続 | + | |
- | $name='山田太郎'; | + | |
- | echo '<p>「"」ダブルクォーテーション部と「'."$name".'」変数部を分ける</p>'; | + | |
- | </code> | + | |
- | + | ||
- | **デモ** | + | |
- | + | ||
- | <php> | + | |
- | //シングルクォーテーションで囲む | + | |
- | echo '<p>「"」ダブルクォーテーションを表示できます</p>'; | + | |
- | //変数を展開したい場合はダブルクォーテーション部分と変数部を分けて.で接続 | + | |
- | $name='山田太郎'; | + | |
- | echo '<p>「"」ダブルクォーテーション部と「'."$name".'」変数部を分ける</p>'; | + | |
- | </php> | + | |
- | ==== 変数計算 ===== | + | |
- | echo中でも計算が可能です。他の文字や数字と接続する場合は式を''()''で囲む必要があります。 | + | |
<code php> | <code php> | ||
ライン 189: | ライン 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>'; | ||
ライン 202: | ライン 140: | ||
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>'; |