PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
新人
「PHPで文字列を扱う方法が知りたいです!どうやって文字列を作るんですか?」
先輩
「PHPでは、シングルクォート(')とダブルクォート(")の2種類を使って文字列を作ることができます。」
新人
「シングルクォートとダブルクォートは何が違うんですか?」
先輩
「それでは、それぞれの特徴を詳しく見ていきましょう!」
1. PHPの文字列とは?
PHPの文字列(String)は、テキスト情報を扱うためのデータ型です。例えば、ユーザー名やメッセージなどを管理するときに使われます。
PHPでは、文字列を扱うために主に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. 文字列の連結(ピリオド `.` を使った方法)
PHPでは、複数の文字列を連結するためにピリオド(`.`)を使います。これは、JavaScriptや他の言語の`+`演算子とは異なる点です。
新人
「PHPで2つの文字列をつなげるにはどうすればいいんですか?」
先輩
「PHPでは、ピリオド(`.`)を使って文字列を連結できます。実際の例を見てみましょう。」
<?php
$firstName = "太郎";
$lastName = "山田";
$fullName = $lastName . " " . $firstName;
echo $fullName;
?>
この場合の出力結果は以下のようになります。
山田 太郎
このように、ピリオドを使うことで簡単に文字列をつなげることができます。
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()` の使い方)
文字列の長さ(文字数)を調べるには `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. 文字列を変換する(大文字・小文字変換)
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()` の使い方)
文字列の一部を別の文字列に置き換えたい場合は、`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で文字列を扱う基本を振り返る
ここまでに学んだPHPの文字列操作について、振り返ってみましょう。
- 文字列の作成:シングルクォート(`'`)とダブルクォート(`"`)の違い
- 文字列の連結:ピリオド(`.`)を使って文字列をつなげる
- 文字列の切り出し:`substr()` で一部の文字列を取得
- 文字列の長さ:`strlen()` で長さを取得(マルチバイト文字は `mb_strlen()` を推奨)
- 文字列の変換:`strtoupper()` で大文字に、`strtolower()` で小文字に変換
- 文字列の置換:`str_replace()` で特定の文字を別の文字に置き換え
PHPでは、さまざまな方法で文字列を操作できます。基本的な関数を覚えておくと、データの加工や表示の際にとても役立ちます。
新人
「PHPの文字列操作について、基本的なことがよくわかりました!」
先輩
「そうだね! これらの関数を活用して、PHPでの文字列操作をどんどん試してみよう!」