【PHP入門】文字列の結合と変数展開

文字列を柔軟に扱う2つのテクニック、『文字列の結合』と『変数展開』をご紹介します。

文字列の結合について

文字列の結合とは複数の文字列を繋げることです。

繋げ方はドット(.)で文字列または変数を繋げます。

具体例を見ていきましょう。

ソースコード

<?php

// 文字列を結合し、$message1に代入する
$message1 = 'Hello'.' World'."\n";
// 変数$message1を出力する
echo $message1;

// 2つの文字列を変数に代入する
$greeting = 'Good morning ';
$country = 'Japan';
// 変数(文字列型)を結合し、$message2に代入する
$message2 = $greeting.$country."\n";
// 変数$message2を出力する
echo $message2;

// 変数(文字列型)と文字列を結合し、$message3に代入する
$message3 = $greeting.'America'."\n";
echo $message3;

?>

実行結果

Hello World
Good morning Japan
Good morning America

このように、文字列同士、変数同士、文字列と変数をドット(.)を使用して結合することで、繋げた文字列を作ることができます。

また、その繋げた文字列は変数に代入することで記憶することも可能です。

変数展開について

変数展開とは、文字列の中に変数を記述し、プログラムの実行時に変数の部分を記憶した文字列で置き換えることを良います。

具体例を見ていきましょう。

ソースコード

<?php

// $countryに文字列のJapanを代入
$country = 'Japan';

// 文字列の中に変数名を記述し、$messageに代入
$message = "Hello $country\n";
// $messageを出力
echo $message;

?>

実行結果

Hello Japan

このように文字列の中に変数名を記述することで、変数に記憶されたデータで置き換えてくれます。

なお、変数展開を使う場合は文字列はダブルクォーテーションで記述する必要があります。シングルクォーテーションで記述すると変数が起き変わらずにそのまま変数名が出力されてしまうので注意しましょう。

また、下記例のように変数名の直後に文字が続く場合、どこまでが変数名か区別できないケースがあります。

ソースコード

<?php

// $countryに文字列のJapanを代入
$country = 'Japan';

// 文字列の中に変数名を記述し、$messageに代入
$message = "Hello $countryTokyo\n";
// $messageを出力
echo $message;

?>

実行結果

エラーが表示されます。

このような場合は、括弧{}で変数名を囲み、変数名を明確にすることで正しく動作します。

ソースコード

<?php

// $countryに文字列のJapanを代入
$country = 'Japan';

// 文字列の中に変数名を記述し、$messageに代入
$message = "Hello ${country}Tokyo\n";
// $messageを出力
echo $message;

?>

実行結果

Hello JapanTokyo

変数の直後に文字が続かない場合でも、括弧{}は使用できますので、都度状況に合わせて使い道を分けていきましょう。

まとめ

今回は文字列の結合と変数展開について解説しました。

文字列は頻繁に使う項目なので、身に付けておくととても便利です。

是非、習得できるよう自身でもソースコードを作成して実行してみてください。