カテゴリ: PHP 更新日: 2025/12/16

PHP の文字列の基本操作(連結・切り出し・長さ)の使い方

PHP の文字列の基本操作(連結・切り出し・長さ)
PHP の文字列の基本操作(連結・切り出し・長さ)

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

新人

「PHPで文字列を扱う方法が知りたいです!どうやって文字列を作るんですか?」

先輩

「PHPでは、シングルクォート(')とダブルクォート(")の2種類を使って文字列を作ることができます。」

新人

「シングルクォートとダブルクォートは何が違うんですか?」

先輩

「それでは、それぞれの特徴を詳しく見ていきましょう!」

-

1. PHPの文字列とは?

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

PHPの文字列(String)は、文字や文章などのテキスト情報を扱うためのデータ型です。Webページに表示する文章や、ユーザーが入力した名前・メッセージなど、PHPの開発では非常によく使われます。

たとえば、「こんにちは」や「ユーザー名:山田」といった情報も、すべて文字列として扱われます。

PHPでは、文字列を作成する方法として主に次の2つがあります。

  • シングルクォート(')で囲む方法
  • ダブルクォート(")で囲む方法

どちらも文字列を表すという点は同じですが、変数の扱い方などに違いがあります。


<?php
$message1 = 'こんにちは';
$message2 = "PHPの世界へようこそ";
echo $message1;
echo $message2;
?>

解説:この例では、シングルクォートとダブルクォートの両方を使って文字列を作成しています。どちらも同じように表示できますが、使い分けることで後の処理が書きやすくなります。

次のセクションでは、この2つの違いについて、具体的な例を交えながら詳しく見ていきましょう。

2. 文字列を扱う基本的な方法(シングルクォート・ダブルクォート)

2. 文字列を扱う基本的な方法(シングルクォート・ダブルクォート)
2. 文字列を扱う基本的な方法(シングルクォート・ダブルクォート)

PHPでは、文字列を作成するときにシングルクォートダブルクォートの2種類を使い分けます。見た目は似ていますが、中身の解釈のされ方に大きな違いがあります。

シングルクォート(')を使った文字列

シングルクォートで囲んだ文字列は、書いた内容がそのまま文字として扱われるのが特徴です。変数名を書いても、値には置き換わりません。


<?php
$name = 'PHP';
echo 'こんにちは、$name!';
?>

出力結果は次の通りです。


こんにちは、$name!

解説:$nameは変数ですが、シングルクォート内では展開されないため、文字としてそのまま表示されます。固定の文章を表示したい場合に向いています。

ダブルクォート(")を使った文字列

ダブルクォートを使うと、文字列の中に書いた変数が自動的に値へ置き換えられます。動的なメッセージを作るときに便利です。


<?php
$name = 'PHP';
echo "こんにちは、$name!";
?>

出力結果は以下のようになります。


こんにちは、PHP!

変数$nameの中身が展開され、意図した文章が表示されていることがわかります。

エスケープシーケンスの扱い

ダブルクォートでは、改行やタブなどを表すエスケープシーケンスも利用できます。

  • \n:改行
  • \t:タブ
  • \":ダブルクォートを文字として表示
  • \\:バックスラッシュを表示

<?php
echo "1行目\n2行目";
?>

1行目
2行目

まとめ:そのまま表示したい文字列はシングルクォート、変数や改行を含めたい場合はダブルクォート、と使い分けるのが基本です。

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

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

PHPでは、複数の文字列をつなげたいときにピリオド(`.`)を使います。数値の計算とは違い、文字列専用の連結方法として覚えておくのがポイントです。

新人

「名前や文章を組み合わせたいときは、どう書けばいいんですか?」

先輩

「ピリオドで文字列をつなげれば、自然な文章を作れますよ。」


<?php
$firstName = "太郎";
$lastName = "山田";
$fullName = $lastName . " " . $firstName;
echo $fullName;
?>

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


山田 太郎

解説:文字列と文字列の間にピリオドを置くことで、順番に結合されます。間に空白(" ")を入れると、読みやすい表示になります。

このように文字列の連結は、名前の表示やメッセージ作成など、PHPの基本的な処理で頻繁に使われます。

4. 文字列の切り出し(`substr()` の使い方)

4. 文字列の切り出し(`substr()` の使い方)
4. 文字列の切り出し(`substr()` の使い方)

PHPで文字列の一部分を取得するには、`substr()` 関数を使います。例えば、ある文章の最初の5文字だけを取得したい場合などに便利です。

新人

「文章の一部だけを取り出すことはできますか?」

先輩

「PHPの`substr()`関数を使うと、指定した位置から特定の長さの文字列を切り出すことができます。」


<?php
$text = "こんにちは、PHP!";
$part = substr($text, 0, 5);
echo $part;
?>

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


こんにちは

`substr($text, 0, 5)` の意味は以下の通りです。

  • 最初の引数:文字列 `$text`
  • 2番目の引数:開始位置(0からスタート)
  • 3番目の引数:取得する文字数(5文字)

また、負の数を使うと、後ろから数えて切り出すこともできます。


<?php
$text = "こんにちは、PHP!";
$part = substr($text, -4);
echo $part;
?>

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


PHP!

このように、`substr()` を使うと文字列の一部を簡単に取り出すことができます。

-

5. 文字列の長さを調べる方法(`strlen()` の使い方)

5. 文字列の長さを調べる方法(`strlen()` の使い方)
5. 文字列の長さを調べる方法(`strlen()` の使い方)

文字列の長さ(文字数)を調べるには `strlen()` 関数を使います。

新人

「文字列の長さを調べるにはどうしたらいいですか?」

先輩

「PHPでは `strlen()` を使うことで簡単に文字数を取得できます。試しにコードを見てみましょう。」


<?php
$text = "PHPの学習";
$length = strlen($text);
echo $length;
?>

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


12

しかし、注意点として `strlen()` はバイト数を返すため、日本語の文字(マルチバイト文字)が含まれる場合、想定と異なる値になることがあります。

例えば、`mb_strlen()` を使うと正しく文字数を取得できます。


<?php
$text = "PHPの学習";
$length = mb_strlen($text, "UTF-8");
echo $length;
?>

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


6

このように、日本語を扱う場合は `mb_strlen()` を使うのがおすすめです。

6. 文字列を変換する(大文字・小文字変換)

6. 文字列を変換する(大文字・小文字変換)
6. 文字列を変換する(大文字・小文字変換)

PHPでは、文字列の大文字・小文字を変換するために、`strtoupper()` と `strtolower()` を使用します。

新人

「PHPで英文字をすべて大文字や小文字に変換する方法はありますか?」

先輩

「`strtoupper()` を使うと大文字に、`strtolower()` を使うと小文字に変換できます。実際にコードを見てみましょう。」

大文字に変換(`strtoupper()`)

英文字をすべて大文字に変換するには、`strtoupper()` を使います。


<?php
$text = "hello php!";
$upperText = strtoupper($text);
echo $upperText;
?>

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


HELLO PHP!

小文字に変換(`strtolower()`)

英文字をすべて小文字に変換するには、`strtolower()` を使います。


<?php
$text = "HELLO PHP!";
$lowerText = strtolower($text);
echo $lowerText;
?>

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


hello php!

このように、`strtoupper()` や `strtolower()` を使うと、文字列の大文字・小文字変換が簡単にできます。

7. 文字列の置換(`str_replace()` の使い方)

7. 文字列の置換(`str_replace()` の使い方)
7. 文字列の置換(`str_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;
?>

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


今日は晴れで暖かいです。

このように、配列を使うことで複数の文字を一度に置き換えることができます。

8. PHPで文字列を扱う基本を振り返る

8. PHPで文字列を扱う基本を振り返る
8. PHPで文字列を扱う基本を振り返る

ここまでに学んだPHPの文字列操作について、振り返ってみましょう。

  • 文字列の作成:シングルクォート(`'`)とダブルクォート(`"`)の違い
  • 文字列の連結:ピリオド(`.`)を使って文字列をつなげる
  • 文字列の切り出し:`substr()` で一部の文字列を取得
  • 文字列の長さ:`strlen()` で長さを取得(マルチバイト文字は `mb_strlen()` を推奨)
  • 文字列の変換:`strtoupper()` で大文字に、`strtolower()` で小文字に変換
  • 文字列の置換:`str_replace()` で特定の文字を別の文字に置き換え

PHPでは、さまざまな方法で文字列を操作できます。基本的な関数を覚えておくと、データの加工や表示の際にとても役立ちます。

新人

「PHPの文字列操作について、基本的なことがよくわかりました!」

先輩

「そうだね! これらの関数を活用して、PHPでの文字列操作をどんどん試してみよう!」

まとめ

まとめ
まとめ

PHPで文字列を扱う際に必要な基本操作として、シングルクォートとダブルクォートの違いから始まり、連結、切り出し、文字数の取得、大文字小文字の変換、さらには部分的な置換まで幅広く学びました。特に文字列の連結にはピリオド(.)を使い、`substr()`や`str_replace()`のような関数で柔軟に文字列を操作できます。

PHPで文字列を効率よく扱うためには、用途に応じた関数を正しく使い分けることが重要です。たとえば、単純な表示にはシングルクォート、変数を含めて出力したいときにはダブルクォートを使うことで、コードの可読性が上がります。また、文字列の長さを調べるときは、マルチバイト文字に対応した`mb_strlen()`を活用することで、日本語にも正しく対応できます。

以下は、文字列の置換や切り出し、文字数の確認を組み合わせたサンプルです。


<?php
$text = "こんにちは、PHPの学習を始めましょう!";
$replaced = str_replace("PHP", "プログラミング", $text);
$short = substr($replaced, 0, 15);
$length = mb_strlen($replaced, "UTF-8");

echo "切り出した文字列:" . $short . "\n";
echo "全文字数:" . $length;
?>

上記のコードでは、「PHP」を「プログラミング」に置き換え、最初の15文字を切り出して表示しています。そして、全体の文字数も取得しています。このように複数の関数を組み合わせることで、より実用的な文字列処理が可能になります。

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

新人

「PHPの文字列操作って、いろんな関数があって最初は混乱しましたが、使い方がわかってくると便利ですね!」

先輩

「そうだね。特に日本語を扱う場合は、`mb_strlen()`のようなマルチバイト対応関数が役立つよ。目的に合った関数を選ぶことが大切なんだ。」

新人

「変数の展開にはダブルクォートを使って、固定の文字列ならシングルクォートを使うといいですね!」

先輩

「うん、覚えるだけじゃなく、実際に手を動かして試すのが一番理解につながるよ。これからも一緒に頑張ろう!」

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

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

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

PHPの文字列はシングルクォートとダブルクォートのどちらを使えばいいですか?

PHPで変数を文字列の中に展開したい場合はダブルクォート、文字をそのまま表示したい場合はシングルクォートを使うのが基本です。

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でExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.6
Java&Spring記事人気No6
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
-
-