カテゴリ: PHP 更新日: 2025/05/29

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

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

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

新人

「PHPで文字列を扱う方法を知りたいです。どうやって操作できますか?」

先輩

「PHPでは文字列を簡単に連結したり、置換したり、特定のフォーマットに整えることができます。」

新人

「連結とかフォーマットって具体的にどうやるんですか?」

先輩

「それでは、基本的な文字列の操作から詳しく説明していくね!」

-

1. PHP の文字列とは?

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

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

例えば、以下のように変数に文字列を代入できます。


<?php
$greeting = "こんにちは";
$name = '太郎';
echo $greeting . "、" . $name . "さん!";
?>

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


こんにちは、太郎さん!

文字列の連結には .(ドット演算子)を使います。ダブルクォートとシングルクォートの違いについても説明していきます。

2. 文字列の連結方法

2. 文字列の連結方法
2. 文字列の連結方法

PHPでは、文字列を結合する方法はいくつかありますが、最も基本的なのは .(ドット演算子)です。

例えば、次のように書くと、文字列を結合できます。


<?php
$first = "PHP";
$second = "文字列";
$result = $first . "の" . $second . "操作";
echo $result;
?>

実行結果:


PHPの文字列操作

また、sprintf() を使うと、フォーマットを指定して文字列を連結できます。


<?php
$language = "PHP";
$feature = "強力";
$message = sprintf("%sは%sな言語です。", $language, $feature);
echo $message;
?>

実行結果:


PHPは強力な言語です。

sprintf() を使うと、数値や文字列を特定の書式で組み込むことができ、特にテンプレートなどで便利に使えます。

3. 文字列の置換(str_replace と preg_replace の基本)

3. 文字列の置換(str_replace と preg_replace の基本)
3. 文字列の置換(str_replace と preg_replace の基本)

PHPでは、文字列の一部を別の文字列に置き換える方法として、str_replacepreg_replace があります。

str_replace を使った簡単な置換

str_replace を使うと、指定した文字列を別の文字列に簡単に置き換えることができます。


<?php
$text = "今日はとても寒いです。";
$newText = str_replace("寒い", "暖かい", $text);
echo $newText;
?>

実行結果:


今日はとても暖かいです。

複数の単語を一度に置き換えることもできます。


<?php
$text = "赤い花と青い空が美しい。";
$search = ["赤い", "青い"];
$replace = ["黄色い", "緑の"];
$newText = str_replace($search, $replace, $text);
echo $newText;
?>

実行結果:


黄色い花と緑の空が美しい。

正規表現を使った置換(preg_replace)

より高度な置換を行いたい場合は、preg_replace を使って正規表現を利用できます。


<?php
$text = "電話番号は 090-1234-5678 です。";
$newText = preg_replace("/\d{3}-\d{4}-\d{4}/", "XXX-XXXX-XXXX", $text);
echo $newText;
?>

実行結果:


電話番号は XXX-XXXX-XXXX です。

このように、preg_replace を使うと、特定のパターンに一致する文字列を簡単に置き換えることができます。

4. 文字列の検索(strpos や substr を使った検索)

4. 文字列の検索(strpos や substr を使った検索)
4. 文字列の検索(strpos や substr を使った検索)

PHPでは、文字列の中に特定の単語が含まれているかを調べたり、一部を取得したりするための関数が用意されています。

strpos を使った文字列の検索

strpos を使うと、文字列内に特定の単語が含まれているかを調べることができます。


<?php
$text = "この文章の中にPHPという単語があります。";
$position = strpos($text, "PHP");

if ($position !== false) {
    echo "PHPは " . $position . " 文字目にあります。";
} else {
    echo "PHPは見つかりませんでした。";
}
?>

実行結果:


PHPは 8 文字目にあります。

文字列が見つからない場合は、false を返しますので、条件分岐を使ってチェックすることが重要です。

substr を使った文字列の一部取得

PHPの substr 関数を使うと、文字列の一部分を取得することができます。


<?php
$text = "PHPで文字列を操作する方法";
$substring = substr($text, 3, 6);
echo $substring;
?>

実行結果:


で文字列を

この例では、インデックス3(4文字目)から6文字分を取得しています。

文字列検索と組み合わせる例

例えば、特定の単語があるかどうかを確認し、その位置から文字列を取得することもできます。


<?php
$text = "PHPはWeb開発に最適な言語です。";
$word = "Web";
$position = strpos($text, $word);

if ($position !== false) {
    $result = substr($text, $position);
    echo $result;
} else {
    echo "指定した単語は見つかりませんでした。";
}
?>

実行結果:


Web開発に最適な言語です。

このように、strpos で単語の位置を取得し、substr でその位置から文字列を抜き出すことができます。

-

5. 文字列のフォーマット(printf と sprintf の活用)

5. 文字列のフォーマット(printf と sprintf の活用)
5. 文字列のフォーマット(printf と sprintf の活用)

PHPでは、数値や文字列を特定のフォーマットに整えるために、printfsprintf を使うことができます。

printf を使ったフォーマット

printf は、指定したフォーマットで文字列を出力する関数です。例えば、小数点以下の桁数を指定したい場合に便利です。


<?php
$price = 1500.5678;
printf("商品の価格は %.2f 円です。", $price);
?>

実行結果:


商品の価格は 1500.57 円です。

このように、%.2f を指定することで、小数点以下2桁まで表示することができます。

sprintf を使ったフォーマット

sprintfprintf と似ていますが、結果を文字列として返す点が異なります。


<?php
$name = "太郎";
$age = 25;
$message = sprintf("%s さんの年齢は %d 歳です。", $name, $age);
echo $message;
?>

実行結果:


太郎 さんの年齢は 25 歳です。

sprintf を使うことで、フォーマットした文字列を変数に代入することができます。

6. 実践的な文字列操作の例(ユーザー入力の整形、テンプレート作成など)

6. 実践的な文字列操作の例(ユーザー入力の整形、テンプレート作成など)
6. 実践的な文字列操作の例(ユーザー入力の整形、テンプレート作成など)

PHPの文字列操作を使って、実際の開発で役立つ例を紹介します。

ユーザー入力の整形

ユーザーが入力したデータを統一したフォーマットに整えることは、Webアプリ開発では重要な作業です。


<?php
$input = "  tArO yamada  ";
$formatted = ucwords(strtolower(trim($input)));
echo "整形後の名前: " . $formatted;
?>

実行結果:


整形後の名前: Taro Yamada

このコードでは、trim() で不要な空白を削除し、strtolower() で小文字に変換した後、ucwords() で各単語の最初の文字を大文字にしています。

テンプレート文字列の作成

Web開発では、変数を埋め込んだテンプレート文字列を作ることがよくあります。


<?php
$template = "ようこそ、%s さん!あなたの会員番号は %05d です。";
$username = "佐藤";
$member_id = 123;
$message = sprintf($template, $username, $member_id);
echo $message;
?>

実行結果:


ようこそ、佐藤 さん!あなたの会員番号は 00123 です。

このように、%s を名前の挿入に、%05d を5桁のゼロ埋めした数値の表示に使うことで、フォーマットを統一できます。

7. まとめ(PHP の文字列操作のポイント)

7. まとめ(PHP の文字列操作のポイント)
7. まとめ(PHP の文字列操作のポイント)

ここまで、PHPでの文字列操作の基本を解説しました。以下が重要なポイントです。

  • 文字列を連結するには . を使う。
  • str_replace() で単純な置換、preg_replace() で正規表現を使った置換が可能。
  • strpos() で文字列の検索、substr() で一部を取得できる。
  • printf()sprintf() で数値や文字列をフォーマットできる。
  • 実際の開発では、ユーザー入力の整形やテンプレート文字列を活用すると便利。

PHPの文字列操作をしっかりマスターすれば、開発の幅が広がります。ぜひ実際にコードを書いて試してみてください!

コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
Pythonの条件式でNoneを判定する方法!is None vs == None の違い
Pythonのpass文とは?一時的なコードブロックをスキップする方法
人気記事
No.1
Java&Spring記事人気No1
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.2
Java&Spring記事人気No2
PHPとは?初心者向けにわかりやすく解説
No.3
Java&Spring記事人気No3
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
No.4
Java&Spring記事人気No4
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
-