北海道のとある企業で働くエンジニアのブログ

北海道でエンジニアとして働いています。技術的なことや感じたことを書きます。最近はブロックチェーンにハマってます。

PHP文字列の基本

PHPの文字列について、基本的なことを記載。
PHP: 文字列 - Manual

引用符による違い

引用符

シングルクォーテーションによる文字列定義では、エスケープや変数展開がされない。
バックスラッシュ、シングルクォーテーション自体のエスケープ程度。

$myName = 'Taro';
echo 'My name is $myName.'; // 出力:My name is $myName.

二重引用符

ダブルクォーテーションによる文字列定義では、エスケープや変数展開が行われる。

$myName = 'Taro';
echo "My name is $myName."; // 出力:My name is Taro.

Nowdocとヒアドキュメント

引用符で囲まずに文字列を定義する方法。

Nowdoc

シングルクォーテーションと同様に、エスケープや変数展開がされない。

$nowDoc = <<<'EOD'
Hi! I am $myName!!
Nice to meet you!!!
EOD;

echo $nowDoc;
// Hi! I am $myName!!
// Nice to meet you!!!

ヒアドキュメント

ダブルクォーテーションと同様に、エスケープや変数展開が行われる。

$hearDoc = <<<EOH
Hi! I am $myName!!
Nice to meet you!!!
EOH;

echo $hearDoc;
// Hi! I am Taro!!
// Nice to meet you!!!

複雑な (波括弧) 構文

「{~}」を使って複雑な式を文字列定義の中に含めることができる。

$ary = array('key1'=>'val1', 'key2'=>'val2');
echo "value of key1 is {$ary['key1']}."; // value of key1 is val1.