こんにちはフロントエンドエンジニアのまさにょんです!
今回は、PHPの文字列の連結、変数展開、改行、クオーテーションの使い分けなど文字列操作のルールについて解説していきます。
目次
文字列の連結 & 改行コード
文字列の連結は「 . 」を使用します。
また、改行は「 \n 」です。
<?php
// [ 文字列の連結 & 改行コード ]
// 1. 文字列の連結は「 . 」を使用します。
echo '白桃と' . 'ももちゃん' . 'は猫です';
// 白桃とももちゃんは猫です
// 2. 改行は「 \n 」です。
echo "\n";
// 「 \n 」は、Escape-文字の1つ => 「改行」を示すCode
文字列の中に変数を埋め込みたい時(変数展開)
変数展開は、${変数名} や {$変数名} 、$変数名 のいずれかでできます。
$変数名で剥き出し変数展開する場合は、変数名の後にスペースを入れないとErrorになります。
また、どこまでが変数でどこからが通常の文字列かを明示的に表現するためにも「 {} 」を使用する変数展開をおすすめします。
<?php
// [ 文字列の中に変数を埋め込みたい時(変数展開) ]
// 1. 変数展開は、${変数名} や {$変数名} 、$変数名 のいずれかでできます。
// 2. どこまでが変数でどこからが通常の文字列かを明示的に表現するためにも
//「 {} 」を使用する変数展開をおすすめします。
$robotama = 'ロボ玉';
echo "${robotama}は、世界最小のハムスターです" . "\n";
// ロボ玉は、世界最小のハムスターです
echo "{$robotama}は、ロボロフスキー・ハムスターが正式名称です" . "\n";
// ロボ玉は、ロボロフスキー・ハムスターが正式名称です
// 3. {} なしでも変数展開はできるが、後にスペースを入れないとErrorになる。
echo "$robotama は、可愛い!" . "\n";
// ロボ玉 は、可愛い!
シングルクオーテーション と ダブルクオーテーション の違い
シングルクオーテーションだと変数展開はされません。すべてが文字列として扱われます。
ダブルクオーテーションは変数展開がされます。${変数名} や {$変数名} 、$変数名 のいずれかは変数展開として検知されます。
<?php
// [ シングルクオーテーション と ダブルクオーテーション の違い ]
$hakutou = '白桃';
// 1. シングルクオーテーションだと変数展開はされない!
echo '吾輩は猫である。名前は{$hakutou}' . "\n";
// 吾輩は猫である。名前は{$hakutou}
// 2. ダブルクオーテーションは変数展開される!
echo "吾輩は猫である。名前は{$hakutou}" . "\n";
// 吾輩は猫である。名前は白桃
echo '$hakutou :' . "{$hakutou}" . "\n";
// $hakutou :白桃
関数などの計算式(処理の実行結果)を展開したい場合
関数をそのまま文字列に埋め込んでも変数のように展開はしてくれません。
実行結果を変数に格納して出力する形か、
文字列と「 . 」で連結する形にすれば、関数を呼び出した実行結果を連結して出力できます。
<?php
// [ 関数などの計算式(処理の実行結果)を展開したい場合 ]
function RobotamaCalc ( int $a, int $b) {
return $a + $b;
};
// 1. 関数をそのままでは展開されない。
echo "ロボ玉の数は、{RobotamaCalc(1, 2)}です" . "\n";
// ロボ玉の数は、{RobotamaCalc(1, 2)}です
$robotama_num = RobotamaCalc(1, 2);
// 2. 実行結果を変数に格納して出力するPattern
echo "ロボ玉の数は、{$robotama_num}です" . "\n";
// ロボ玉の数は、3です
// 3. 文字列と「 . 」で連結する形にすれば、関数を呼び出した実行結果を連結して出力できる。
echo "ロボ玉の数は、" . RobotamaCalc(1, 11) . "です" . "\n";
// ロボ玉の数は、12です
Twitterやってます!Follow Me!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!