あちあち情報局

趣味や日曜プログラムなどを書いています

ユーザ用ツール

サイト用ツール


php:php_print-echo

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
php:php_print-echo [2019/01/13 11:05]
管理者
php:php_print-echo [2019/01/13 22:25] (現在)
管理者 [ダブルクォーテーション]
ライン 4: ライン 4:
 ---- ----
 ===== 基本的な使い方 ===== ===== 基本的な使い方 =====
 +
 +===== 文字列表示 =====
  
 文字列を出力する場合は出力する文字列をシングルクォーテーションで囲みます。 文字列を出力する場合は出力する文字列をシングルクォーテーションで囲みます。
  
-注意点として「I'm sorry」など出力する文字列にシングルクォーテーション含むはできません。(解決策は後述のダブルクォーテーションを使います)+注意点は、「I'm sorry」などシングルクォーテーション含む文字列使用できません。(解決策は後述のダブルクォーテーションを使います)
  
 <code php> <code php>
ライン 21: ライン 23:
 </​php>​ </​php>​
  
-===== ダブルクォーテーション ====+==== ダブルクォーテーション ==== 
- +シングルクォーテーションは文字列しか出力できませんでしたが、ダブルクォーテーションでは変数や特殊文字(改行や記号などエスケープシーケンス出力ます。
-シングルクォーテーションは文字列しか出力できませんが、ダブルクォーテーションでは変数やエスケープシーケンス(改行など特殊な文字)を出力できます。 +
- +
-変数やエスケープシーケンスを使わない場合はシングルクォーテーションと機能には変わりませんが変数やエスケープシーケンスの確認処理があるの処理速度は劣ります。+
  
-注意点として出力する文字列にダブルクォーテーションを含む場合は後述するエスケープシーケンスと言う特殊な処理が必要となります。+注意点は、文字列中の「\」「"​」と「$」(変数以外で)を使用する場合はこの各文字の前に半角バックスラッシュ「\」をつけ、「\\」「\"​」「\$」として下さい(半角バックスラッシュは言語設定などにより「¥」(半角円記号)と表示され場合があります)。また単純な文字列出力の場合はシングルクォーテーションより処理速度遅くなります。
  
 <code php> <code php>
 <?php <?php
-  $str='​Hello';​ +  $str='​Hello ​World'; 
-  echo '<​p>​シングル:$str ​"</​p>';​ +  echo '<​p>​シングル:$str ​・・変数展開不可</​p>';​ 
-  echo "<​p>​ダブル ​ :$str \"</​p>";​+  echo "<​p>​ダブル:$str ・・・変数展開可能</​p>";​ 
 +  echo "<​p>​ダブル\$str ・・・エスケープシーケンスで変数を展開しない</​p>";​ 
 +  echo "<​p>​ダブル:\'​\" ​' ・・エスケープシーケンスでダブルとシングルクォートを表示可能</​p>";​
 ?> ?>
 </​code>​ </​code>​
ライン 40: ライン 41:
  
 <php> <php>
-  $str='​Hello';​ +  $str='​Hello ​World'; 
-  echo '<​p>​シングル:$str ​"</​p>';​ +  echo '<​p>​シングル:$str ​・・変数展開不可</​p>';​ 
-  echo "<​p>​ダブル ​ :$str \"</​p>";​+  echo "<​p>​ダブル:$str ・・・変数展開可能</​p>";​ 
 +  echo "<​p>​ダブル\$str ・・・エスケープシーケンスで変数を展開しない</​p>";​ 
 +  echo "<​p>​ダブル:\'​\" ​' ・・エスケープシーケンスでダブルとシングルクォートを表示可能</​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>​名前は'; +  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>​
ライン 93: ライン 104:
   $name='​山田太郎';​   $name='​山田太郎';​
   $age=20;   $age=20;
- 
   echo '<​p>​名前は'​.$name.'​、年齢は'​.$age.'​歳</​p>';​   echo '<​p>​名前は'​.$name.'​、年齢は'​.$age.'​歳</​p>';​
 ?> ?>
ライン 103: ライン 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>
ライン 186: ライン 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>';​
ライン 199: ライン 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>';​
php/php_print-echo.1547345109.txt.gz · 最終更新: 2019/01/13 11:05 by 管理者