【PHP】Lesson1-6:文字列の連結と埋め込みの基本をマスターしよう

PHPでは文字列を操作する方法が豊富に用意されています。
その中でも複数の文字列を結合する「文字列の連結」と、変数や値を文字列内に直接埋め込む「文字列の埋め込み」は、非常に頻繁に使用される重要なテクニックです。
本記事ではこれらの使い方について解説します。
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; // "こんにちは、世界!" echo $result;
- ドット演算子の左右にある文字列や変数が結合されます。
- 元の変数には影響がありません。
文字列連結の実例|PHPでの使い方を解説
以下はユーザー名を使った動的なメッセージ生成の例です。
<?php $username = "太郎"; $message = "こんにちは、" . $username . "さん!"; echo $message; // "こんにちは、太郎さん!"
$username
にユーザー名を代入します。- ドット演算子を使い、定型文と変数を結合します。
- 最終的な文字列が
echo
で表示されます。
連結された結果をさらに別の文字列と結合することも可能です。
<?php $greeting = "ようこそ、"; $location = "PHP学習サイト"; echo $greeting . $location . "へ!"; // "ようこそ、PHP学習サイトへ!"
PHPで文字列に変数を埋め込む方法とは?
文字列の埋め込みは文字列の中に変数や値を直接挿入する方法です。
主に、ダブルクォーテーション ("
) を使用することで実現します。
<?php $name = "花子"; echo "こんにちは、$name さん!"; // "こんにちは、花子さん!"
- 変数名はそのまま文字列内に記述します。
- 必要に応じて中括弧
{}
で変数を囲むことで、より複雑な文字列にも対応可能です。
文字列埋め込みの実例|ダブルクォーテーションの活用
例えば、計算結果や動的データを文字列内に表示する場合の例です。
<?php $price = 1000; $quantity = 3; $total = $price * $quantity; echo "合計金額は {$total} 円です。"; // "合計金額は 3000 円です。"
- 中括弧
{}
を使うことで計算結果などの複雑な値も埋め込むことができます。 - この方法はコードの可読性を向上させるのに役立ちます。
文字列操作のまとめ|連結と埋め込みを使いこなそう
文字列の連結と埋め込みは、PHPプログラミングにおいて頻繁に使用される機能です。
- 連結:ドット演算子を使い、複数の文字列を1つにまとめる。
- 埋め込み:ダブルクォーテーション内で変数や値を展開する。
これらを効果的に活用することで、より動的で柔軟なプログラムを作成できるようになります。
ぜひ、練習問題で実際に手を動かして習得してください!
演習問題|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
: 埋め込みで作成したメッセージを出力します。
まとめ
このプログラムでは以下のポイントを学ぶことができます:
- 文字列の連結: ドット演算子を使って複数の文字列や変数を一つにまとめる方法。
- 文字列の埋め込み: ダブルクォーテーション内で変数を展開する便利な手法。
- ユーザー入力の処理:
fgets
を使った標準入力の取得と、trim
を用いたデータの整形。
このプログラムはPHPの基礎的な文法を学ぶのに最適です。
これらのテクニックを使えば動的なメッセージ生成など、より実用的なプログラムを作成できるようになります。
ぜひ、自分のアイデアを追加して、PHPプログラミングをさらに楽しんでください!