【PHP】Lesson1-6:文字列の連結と埋め込みを理解しよう

一つ前のレッスンでは 文字列の基本 について学習しました。
今回は 文字列の連結と埋め込み について見ていきましょう。
Lesson1:基礎文法編
・Lesson1-1:PHP学習の入り口|初めてコードを書いてみよう
・Lesson1-2:変数と定数を理解しよう
・Lesson1-3:データ型とキャストを理解しよう
・Lesson1-4:四則演算をしよう
・Lesson1-5:文字列を理解しよう
・Lesson1-6:文字列の連結と埋め込みを理解しよう ◁今回はココ
・Lesson1-7:乱数を生成しよう
・確認問題1-1:ランダムパスワードを生成しよう
Lesson2:制御構造編
Lesson3:関数編
Lesson4:データ構造編
Lesson5:クラス編
文字列を連結と埋め込み|コード例を用いた解説
本記事ではドット演算子を使った連結の基本から、実用的な埋め込みテクニックまで丁寧に紹介。
これを理解すれば、動的なメッセージや出力を自在に作れるようになります。
ぜひ最後まで読み進めて、PHPの文字列操作スキルを一段と高めましょう!

文字列の連結とは?|ドット演算子の使い方と使用例
文字列の連結とは、複数の文字列を結合して1つの文字列にする操作です。
この方法は、例えばユーザーの名前やメッセージを動的に生成する際に利用されます。
PHPで文字列を連結する際には、ドット演算子 (.
) を使用します。この演算子を使用することで複数の文字列を簡単に結合できます。
<?php // 基本構文 $string1 = "こんにちは、"; $string2 = "世界!"; $result = $string1 . $string2; // 2つの文字列を連結 echo $result;
- ドット演算子の左右にある文字列や変数が結合されます。
- 元の変数には影響がありません。
このコードを実行すると以下のように出力されます。
こんにちは、世界!
また、以下はユーザー名を使った動的なメッセージ生成の例です。
<?php $username = "PHP太郎"; $message = "こんにちは、" . $username . "さん!"; echo $message; // 出力:こんにちは、PHP太郎さん!
$username
にユーザー名を代入します。- ドット演算子を使い、定型文と変数を結合します。
- 最終的な文字列が
echo
で表示されます。
連結された結果をさらに別の文字列と結合することも可能です。
文字列に変数を埋め込む方法|解説とコード例
文字列の埋め込みとは、文字列の中に変数や値を直接挿入する方法です。
ダブルクォーテーション ("
) で定義した文字列に対してのみを使用できます(シングルクォーテーションの文字列には使用できません)。
<?php $name = "花子"; echo "こんにちは、$name さん!"; // 出力:こんにちは、花子 さん!
変数名はそのまま文字列内に記述します。
ただし、この書き方をする場合、変数名の後に半角スペースが必要となり、それは出力結果にも反映されます。
半角スペースを入れたくない場合は、変数を中括弧{}で囲いましょう。
<?php $price = 1000; $quantity = 3; $total = $price * $quantity; echo "合計金額は{$total}円です。"; // "合計金額は3000円です。"
埋め込みを活用することでコードの可読性は向上しますので、積極的に活用しましょう。
まとめ|連結と埋め込みを使いこなそう
この記事では、PHPで文字列を連結する方法や、変数を文字列に埋め込むテクニックについて解説しました。
これにより、メッセージの動的生成や出力の自由度が格段に広がったはずです。
基本を押さえた今こそ、実際に手を動かしながら、より実践的な文字列操作にチャレンジしてみましょう!
演習問題|名前を使った挨拶メッセージを作ろう

ユーザーに名前を尋ね、その名前を使ったカスタマイズされた挨拶文を作成するプログラムを作りましょう。
文字列を連結する方法と文字列に変数を埋め込む方法の両方を学べます。
ユーザーが入力した名前を使って、2種類の異なる形式の挨拶文を出力してください。
この演習の要件
以下の要件に従ってコードを完成させてください。
- ユーザーに名前を尋ねるメッセージを表示すること。
fgets(STDIN)
関数を使ってユーザーの入力を受け取ること。trim
関数を使用して、入力された名前の不要な空白や改行を取り除くこと。- 入力された名前を使い、以下の挨拶メッセージを生成すること。
- 文字列の連結を使った挨拶:「こんにちは、[名前]さん!ようこそPHP学習サイトへ。」
- 文字列の埋め込みを使った挨拶:「こんにちは、[名前]さん!PHPを楽しみましょう!」
- 上記2種類の挨拶メッセージを順番に画面に表示すること。
ただし、以下のような実行結果となること。
こんにちは!あなたのお名前は何ですか? 一郎 ようこそ、一郎さん!このPHP学習サイトへ! 楽しんでくださいね、一郎 さん!
解き方のヒント
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
- ヒント1【コードの構成を見る】
-
正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)1:ユーザーに名前を尋ねるメッセージを出力
2:標準入力からユーザーの名前を取得し、不要な空白や改行を削除して変数$name
に格納
3:文字列の連結を使用して挨拶メッセージを作成し、変数$greeting
に格納
4:挨拶メッセージを出力
5:文字列の埋め込みを使用して別のメッセージを作成し、変数$additionalMessage
に格納
6:埋め込みメッセージを出力
- ヒント2【穴埋め問題にする】
-
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。
<?php // ユーザーに名前を尋ねるメッセージを表示 echo "こんにちは!あなたのお名前は何ですか?" . PHP_EOL; // ユーザーの入力を受け取る /*【穴埋め問題1】 ここで標準入力からデータを受け取り、改行を削除して変数 $name に代入するコードを書いてください。 */ // 挨拶メッセージを準備 /*【穴埋め問題2】 ここで $name を使用して文字列を連結し、変数 $greeting に挨拶メッセージを代入するコードを書いてください。 */ // メッセージを出力 echo $greeting . PHP_EOL; // 埋め込み文字列で別のメッセージを作成 /*【穴埋め問題3】 ここで $name を埋め込んだ文字列テンプレートを使用して、変数 $additionalMessage に代入するコードを書いてください。 */ // 埋め込みメッセージを出力 echo $additionalMessage;
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
演習問題の答え合わせ
この問題の正解コードとその解説は以下の通りです。
クリックして開いて確認してください。
- 正解コード
-
<?php // ユーザーに名前を尋ねるメッセージを表示 echo "こんにちは!あなたのお名前は何ですか?" . PHP_EOL; // ユーザーの入力を受け取る $name = trim(fgets(STDIN)); // 挨拶メッセージを準備 $greeting = "ようこそ、" . $name . "さん!このPHP学習サイトへ!"; // メッセージを出力 echo $greeting . PHP_EOL; // 埋め込み文字列で別のメッセージを作成 $additionalMessage = "楽しんでくださいね、$name さん!"; // 埋め込みメッセージを出力 echo $additionalMessage;
- 正解コードの解説
-
コードをブロックごとに分割して解説します。
ユーザー入力を受け取る部分
echo "こんにちは!あなたのお名前は何ですか?" . PHP_EOL; $name = trim(fgets(STDIN));
echo
: 指定した文字列を出力します。このコードではユーザーに名前を入力してもらうようメッセージを表示しています。fgets(STDIN)
: 標準入力(コンソール)からデータを読み取るための関数です。ここではユーザーが入力した名前を取得しています。trim
: 文字列の前後にある余分な空白や改行を削除します。これにより入力された名前がきれいに処理されます。
文字列の連結を使った挨拶メッセージの生成
$message1 = "こんにちは、" . $name . "さん!ようこそPHP学習サイトへ。"; echo $message1 . PHP_EOL;
- ドット演算子(
.
): 複数の文字列を連結するための演算子です。ここでは、”こんにちは、” とユーザーが入力した名前($name
)、さらに “さん!ようこそPHP学習サイトへ。” を連結しています。 $message1
: 作成された連結結果の文字列がこの変数に格納されます。echo
: 作成したメッセージを画面に出力します。
文字列の埋め込みを使った挨拶メッセージの生成
$message2 = "こんにちは、$name さん!PHPを楽しみましょう!"; echo $message2;
- ダブルクォーテーション (
"
): ダブルクォーテーションを使うと文字列内に変数を直接埋め込むことができます。ここでは$name
の値がそのまま展開されて挨拶メッセージに組み込まれます。 $message2
: 埋め込みを使って生成されたメッセージがこの変数に格納されます。echo
: 埋め込みで作成したメッセージを出力します。