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

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

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

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

新人

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

先輩

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

新人

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

先輩

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

-

1. PHPの文字列とは?

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

PHPの文字列(String)は、テキスト情報を扱うためのデータ型です。例えば、ユーザー名やメッセージなどを管理するときに使われます。

PHPでは、文字列を扱うために主に2つの方法があります。

  • シングルクォート(')を使う方法
  • ダブルクォート(")を使う方法

この2つは見た目は似ていますが、動作に違いがあります。次のセクションで詳しく説明します。

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

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

シングルクォート(')とダブルクォート(")の違いを見ていきましょう。

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

シングルクォートは、変数を展開しない特徴があります。つまり、文字列の中に変数を書いても、そのままの文字列として扱われます。


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

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


こんにちは、$name!

変数$nameがそのまま表示されてしまいました。シングルクォートでは変数の展開はされません。

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

ダブルクォートを使うと、文字列の中で変数を展開することができます。


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

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


こんにちは、PHP!

ダブルクォートを使うと、変数の値が正しく展開されて表示されることがわかります。

エスケープシーケンス

ダブルクォートを使う場合、特別な意味を持つエスケープシーケンスを使用できます。

  • \n:改行
  • \t:タブ
  • \":ダブルクォートを文字列内で使う
  • \\:バックスラッシュを文字列内で使う

例えば、改行を含む文字列を出力する場合は次のように書けます。


<?php
echo "こんにちは\nPHP!";
?>

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


こんにちは
PHP!

ダブルクォートでは\nが適用されて、改行されることがわかります。

結論

シングルクォートとダブルクォートの使い分けのポイントは以下の通りです。

  • シングルクォート:そのままの文字列として扱いたい場合(変数を展開しない)
  • ダブルクォート:変数を展開したい場合やエスケープシーケンスを使いたい場合

次のセクションでは、PHPで文字列を連結する方法を学んでいきましょう!

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

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

PHPでは、複数の文字列を連結するためにピリオド(`.`)を使います。これは、JavaScriptや他の言語の`+`演算子とは異なる点です。

新人

「PHPで2つの文字列をつなげるにはどうすればいいんですか?」

先輩

「PHPでは、ピリオド(`.`)を使って文字列を連結できます。実際の例を見てみましょう。」


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

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


山田 太郎

このように、ピリオドを使うことで簡単に文字列をつなげることができます。

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でセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-