カテゴリ: PHP 更新日: 2025/11/26

PHPの文字列操作(連結・置換・フォーマット)を完全ガイド!初心者でもわかる文字列の基本

PHP の文字列操作(連結・置換・フォーマット)
PHP の文字列操作(連結・置換・フォーマット)

新人と先輩の会話形式で理解しよう

新人

「PHPで文字列を扱う方法を知りたいのですが、基本から教えてもらえますか?」

先輩

「PHPでは文字列を扱う方法がいくつかあります。まずは基本的な考え方から説明していきますね。」

新人

「お願いします!」

-

1. PHPの文字列とは?

1. PHPの文字列とは?
1. PHPの文字列とは?

PHPの文字列は、テキストデータを表すためのデータ型の一つです。プログラム内で文字や文章を扱うときに使用します。

例えば、「Hello, World!」のようなテキストや、ユーザーが入力した情報を処理するときに使われます。

2. PHPでの文字列の扱い方(シングルクォートとダブルクォートの違い)

2. PHPでの文字列の扱い方(シングルクォートとダブルクォートの違い)
2. PHPでの文字列の扱い方(シングルクォートとダブルクォートの違い)

PHPでは、文字列をシングルクォート(')またはダブルクォート(")で囲んで表します。

シングルクォートとダブルクォートの主な違いは、変数の展開ができるかどうかです。

シングルクォート(')を使った場合

シングルクォートでは、文字列の中で変数をそのままの文字として扱います。


$name = '太郎';
echo 'こんにちは、$name さん';

上記のコードを実行すると、出力は以下のようになります。


こんにちは、$name さん

ダブルクォート(")を使った場合

ダブルクォートでは、変数が文字列内で展開され、実際の値に置き換わります。


$name = '太郎';
echo "こんにちは、$name さん";

この場合、変数の値が展開され、以下のように表示されます。


こんにちは、太郎 さん

3. 文字列の連結方法(`.` を使った連結)

3. 文字列の連結方法(`.` を使った連結)
3. 文字列の連結方法(`.` を使った連結)

PHPでは、文字列を連結するときに.(ドット演算子)を使います。

例えば、次のように2つの文字列を連結できます。


$first = 'こんにちは、';
$second = '太郎さん';
$message = $first . $second;
echo $message;

上記のコードを実行すると、以下のように表示されます。


こんにちは、太郎さん

複数の文字列を連結する

複数の文字列を連結するときも、. を使います。


$greeting = 'こんにちは';
$name = '太郎';
$end = 'さん';
$message = $greeting . '、' . $name . $end . '!';
echo $message;

この場合の出力結果は次のようになります。


こんにちは、太郎さん!

代入しながら連結する(.= 演算子)

連結しながら代入する場合、.= 演算子を使います。


$message = 'こんにちは';
$message .= '、太郎さん!';
echo $message;

このコードの実行結果は以下の通りです。


こんにちは、太郎さん!

4. 文字列の置換(str_replace を使った文字の置き換え)

4. 文字列の置換(str_replace を使った文字の置き換え)
4. 文字列の置換(str_replace を使った文字の置き換え)

PHPでは、特定の文字列を別の文字列に置き換える場合にstr_replace関数を使います。

例えば、「こんにちは、太郎さん!」という文章の「太郎」を「花子」に変更する場合、以下のように書きます。


$text = 'こんにちは、太郎さん!';
$new_text = str_replace('太郎', '花子', $text);
echo $new_text;

上記のコードを実行すると、次のように表示されます。


こんにちは、花子さん!

複数の単語を一度に置換する

str_replaceは、配列を使って複数の単語を一度に置換することもできます。


$text = '今日は晴れですね。とても暑いです。';
$new_text = str_replace(['晴れ', '暑い'], ['雨', '涼しい'], $text);
echo $new_text;

このコードの実行結果は以下の通りです。


今日は雨ですね。とても涼しいです。
-

5. 文字列の検索(strpos を使った文字の検索)

5. 文字列の検索(strpos を使った文字の検索)
5. 文字列の検索(strpos を使った文字の検索)

PHPでは、特定の文字列が含まれているかどうかを調べるためにstrpos関数を使います。

例えば、「PHPは便利な言語です。」という文章の中に「便利」という単語が含まれているかどうかを確認するには、次のように書きます。


$text = 'PHPは便利な言語です。';
$position = strpos($text, '便利');

if ($position !== false) {
    echo '「便利」という単語は ' . $position . ' 文字目にあります。';
} else {
    echo '「便利」という単語は含まれていません。';
}

上記のコードを実行すると、次のように表示されます。


「便利」という単語は 3 文字目にあります。

特定の単語が含まれているか判定する

strposを使って、文字列が含まれているかどうかを判定することもできます。


$text = 'PHPはとても簡単な言語です。';
if (strpos($text, '簡単') !== false) {
    echo 'この文章には「簡単」が含まれています。';
} else {
    echo 'この文章には「簡単」が含まれていません。';
}

このコードの実行結果は以下の通りです。


この文章には「簡単」が含まれています。

6. 部分文字列の取得(substr を使った一部の文字列の取り出し)

6. 部分文字列の取得(substr を使った一部の文字列の取り出し)
6. 部分文字列の取得(substr を使った一部の文字列の取り出し)

PHPでは、文字列の一部分を取り出すためにsubstr関数を使います。

例えば、「こんにちは、世界!」という文字列の最初の5文字を取得する場合、次のように書きます。


$text = 'こんにちは、世界!';
$substring = substr($text, 0, 5);
echo $substring;

このコードを実行すると、次のように表示されます。


こんにちは

文字列の末尾から取得する

負の値を指定すると、文字列の末尾から取得できます。


$text = 'こんにちは、世界!';
$substring = substr($text, -3);
echo $substring;

このコードの実行結果は以下の通りです。


世界!

特定の範囲を取得する

開始位置と長さを指定して、一部分だけを取得することもできます。


$text = 'プログラミングは楽しい!';
$substring = substr($text, 6, 4);
echo $substring;

このコードを実行すると、次のように表示されます。


ミング

7. 文字列のフォーマット(printfやsprintfを使った整形)

7. 文字列のフォーマット(printfやsprintfを使った整形)
7. 文字列のフォーマット(printfやsprintfを使った整形)

PHPでは、数値や文字列を特定のフォーマットに整形するためにprintfsprintf関数を使います。

printfを使った文字列フォーマット

printf関数を使うと、フォーマットを指定して文字列を出力できます。


$price = 1500;
printf("商品の価格は %d 円です。", $price);

このコードを実行すると、以下のように表示されます。


商品の価格は 1500 円です。

また、小数点以下の桁数を指定することもできます。


$rate = 3.14159;
printf("円周率は %.2f です。", $rate);

このコードを実行すると、以下のように表示されます。


円周率は 3.14 です。

sprintfを使った文字列の作成

sprintfは、printfと同じフォーマット指定が使えますが、文字列を返す点が異なります。


$name = '太郎';
$age = 25;
$message = sprintf("私の名前は %s で、%d 歳です。", $name, $age);
echo $message;

このコードを実行すると、以下のように表示されます。


私の名前は 太郎 で、25 歳です。

8. 文字列のトリミング(trim を使った余分なスペースの削除)

8. 文字列のトリミング(trim を使った余分なスペースの削除)
8. 文字列のトリミング(trim を使った余分なスペースの削除)

PHPでは、文字列の前後にある不要な空白を削除するためにtrim関数を使います。

trimを使った空白の削除

以下の例では、文字列の前後の空白を削除しています。


$text = "  こんにちは  ";
$trimmed_text = trim($text);
echo "[$trimmed_text]";

このコードの実行結果は以下の通りです。


[こんにちは]

ltrimとrtrimを使った部分的なトリミング

前後どちらかの空白だけを削除するには、ltrim(左側)またはrtrim(右側)を使います。


$text = "  こんにちは  ";
$left_trimmed = ltrim($text);
$right_trimmed = rtrim($text);

echo "[$left_trimmed]\n";
echo "[$right_trimmed]";

このコードの実行結果は以下のようになります。


[こんにちは  ]
[  こんにちは]

9. 文字列操作の活用例(ユーザー入力の整形、ログの出力など)

9. 文字列操作の活用例(ユーザー入力の整形、ログの出力など)
9. 文字列操作の活用例(ユーザー入力の整形、ログの出力など)

文字列操作は、実際の開発においてさまざまな場面で活用されます。

ユーザー入力の整形

ユーザーが入力したデータを整形する場合、trimstr_replaceを活用できます。


$input = "  こんにちは!  ";
$clean_input = trim($input);
echo $clean_input;

このコードを実行すると、次のように表示されます。


こんにちは!

ログの出力

エラーログやアクセスログを整形して記録することも重要です。


$date = date("Y-m-d H:i:s");
$message = "ユーザーがログインしました。";
$log = sprintf("[%s] %s", $date, $message);
file_put_contents("log.txt", $log . PHP_EOL, FILE_APPEND);

上記のコードを実行すると、log.txtに次のようなログが記録されます。


[2025-02-28 14:30:00] ユーザーがログインしました。

データの一部をマスキングする

パスワードや個人情報を部分的にマスキングすることも可能です。


$email = "example@example.com";
$masked_email = substr_replace($email, "****", 3, 4);
echo $masked_email;

このコードを実行すると、次のように表示されます。


exa****@example.com

まとめ

まとめ
まとめ

PHPの文字列操作についてじっくり学んできましたが、一つひとつの関数や書き方にはしっかりとした意味があり、初心者でも理解しやすい仕組みになっています。文章を扱う処理は、実際のシステム開発で欠かせません。例えば、ユーザーの入力を加工したり、ログを整えたり、コメントやメールの内容を変換したりする場面では、必ずと言ってよいほど文字列操作が登場します。今回取り上げた連結、検索、置換、トリミング、フォーマット、部分抽出のような基本操作ができるだけで、かなり幅広い処理に対応できるようになります。 文字列の連結では..=が使われ、単純にくっつけるだけでなく、場面ごとに柔軟なメッセージ作りができます。置換ではstr_replaceがあり、文章の一部を別の表現に変えたいときに便利です。ユーザー名や商品名を差し替える処理、文章の雰囲気を変える加工でも自然に使える機能でした。さらに、strposを使った検索では、特定の語句が含まれるかどうかを判定し、条件分岐と組み合わせて安全なチェック処理ができます。ログ分析や入力値の判定などで役立つ場面は少なくありません。 また、substrを使った部分抽出は、文字列の決まった場所だけを取り出す処理に便利です。名前だけを抜き出したり、一部だけ表示したりする用途に向いており、情報の加工に強い機能です。さらにprintfsprintfでは、数値や文章を整えた形で出力でき、ログ、計算結果、通知メッセージの作成など人に見せる用途にうってつけの書き方でした。桁数を揃えたデータ整形は、画面表示だけでなくログ管理や帳票出力の場面でも効果を発揮します。 そして忘れてはいけないのがtrim。入力内容には目に見えない空白が混ざることが多く、そのまま保存すると比較判定や検索が正しく動かないことがあります。空白を削除して正確な文字列に整えることで、より安全な処理に近づきます。さらに、str_replacesubstrを組み合わせると、メールアドレスや電話番号の一部をマスキングする処理も作れるため、実務の現場でよく見る個人情報保護にも応用できます。 文字列操作は、単に文章を扱うだけではありません。フォーム入力の整形、データ検証、ログ作成、解析処理、画面表示、メール本文作成、ファイル名生成、テンプレートの差し込みなど、多くの用途で使われます。PHPで開発をする上で、最初に覚えると後が楽になる知識といえます。初心者が苦手意識を持つこともありますが、一つずつ読みやすいコードを書き、確認しながら実行すれば、必ず理解できる分野です。 以下では、今回学んだ内容をまとめた簡単なサンプルを載せておきます。

まとめ用サンプルプログラム


$text = "  こんにちは、太郎さん!  ";
$clean = trim($text);
$changed = str_replace("太郎", "花子", $clean);
$short = substr($changed, 0, 6);
$log = sprintf("整形結果:[%s] / 部分:[%s]", $changed, $short);
echo $log;

このサンプルでは、文字列の連結、置換、トリミング、部分抽出、フォーマットといった幅広い要素が一度に確認できます。実際の開発でも、こうした複数の処理が組み合わさることが多く、一つずつの基礎が理解できていれば自然と応用できるようになります。文字列を安全に扱い、出力内容をきれいに整え、ユーザーにとって読みやすい文章やログデータを作ることは、プログラムの品質を高める上で欠かせない取り組みです。

先生と生徒の振り返り会話

生徒

「長い記事でしたが、読みながら試していたら少しずつ理解できました。特にstr_replacesubstrが便利でした。」

先生

「その二つは実務でもよく使う場面が多いですね。文章の加工や個人情報の取り扱いなど、幅広い用途があります。」

生徒

printfsprintfは見たことがなかったので驚きました。数字をきれいに整形できるのが便利ですね。」

先生

「数字は桁がずれることがあるので、整形するとログも読みやすくなります。今後のアプリ作りにも役立つはずですよ。」

生徒

「たしかに、ログやメッセージを扱う場面で違いが出そうです。次は配列操作も挑戦してみたいです!」

先生

「良い流れですね。文字列が理解できれば、配列やフォーム処理もスムーズに取り組めると思います。今日の内容は、ぜひ手元で繰り返し試してみてください。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PHPで文字列とは何ですか?初心者でもわかる基本的な意味は?

PHPの文字列は、テキストデータを扱うデータ型の一つで、文章や文字情報をプログラム内で操作する際に使用します。ユーザー入力や表示用の文字列処理に不可欠です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
PHP
PHPでZipファイルを作成・展開する方法を初心者向けに解説!ZipArchiveクラスを使った圧縮・解凍の基本
-
-