トップへ(mam-mam.net/)

文字列の扱いについての基本

検索:

「文字列の扱いについての基本」

文字列の扱いについての基本は?

回答

以下参照

ソース

ダブルクォートとシングルクォートの違い


①シングルクォートを使った場合、以下の$a変数の値は、「ABC$s」になる。 
$s='abc';
$a='ABC$s';//シングルクォート内にある$sは変数とみなされず、文字列とみなされる。
echo $a;
②ダブルクォートを使った場合、以下の$a変数の値は、「ABCabc」になる。 
$s='abc';
$a="ABC$s";//ダブルクォート内にある$sは変数とみなされて変数展開される。
echo $a;
③シングルクォートを使った場合、エスケープ文字列が展開されず以下の$a変数の値は、「ABC\n」になる。 
$a='ABC\n';//シングルクォート内にある$sは変数とみなされず、文字列とみなされる。
echo $a;
④ダブルクォートを使った場合、以下の$a変数の値は、「ABC」+改行コード(正確にはLF[ラインフィーダ chr(10)]) になる。 
$a="ABC\n";//ダブルクォート内にある$sは変数とみなされて変数展開される。



文字列連結(. ドット)


以下は$aも$bも同じ値となる。 
$s='abc';
$a="ABC$s";
$b="ABC".$s;
echo $a."<br>".$b;



ダブルクォート内で配列変数を展開する場合は?


以下は$aも$bも同じ値「ABCabcdef」となる。 
$ar=Array();
$ar[0]='abc';
$ar[1]='def';
$a="ABC$ar[0]$ar[1]";
$b="ABC".$ar[0].$ar[1];
echo $a."<br>".$b;



ダブルクォート内で連想配列を展開する場合は?


ダブルクォート内で変数を指定するには{}で変数をくくってやればよい。以下は$aも$bも同じ値「ABCabcdef」となる。
$ar=Array();
$ar["a"]='abc';
$ar["b"]='def';
$a="ABC{$ar["a"]}{$ar["b"]}";
$b="ABC".$ar["a"].$ar["b"];
echo $a."<br>".$b;



ダブルクォート内でダブルクォート(")を含む文字列を表すには?


\を使ってエスケープします。 
$ar="文字列内でダブルクォート\"を使う。";
echo $ar."ダブルクォートの\"出力\"ができます。";