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

PHP の大文字・小文字変換(strtoupper, strtolower)

PHP の大文字・小文字変換(strtoupper, strtolower)
PHP の大文字・小文字変換(strtoupper, strtolower)

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

新人

「PHPで文字列の大文字や小文字を変換する方法ってありますか?」

先輩

「PHPでは、strtoupperstrtolower という関数を使うことで、大文字や小文字に変換できます。」

新人

「具体的にどうやって使うんですか?」

先輩

「では、まずは基本的な使い方を見ていきましょう!」

-

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

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

PHPは、Web開発でよく使われるプログラミング言語で、文字列を操作する機能が豊富に用意されています。

文字列の長さを調べたり、特定の文字を置換したり、大文字・小文字を変換したりと、さまざまな処理が簡単に行えます。

特に、大文字・小文字の変換は、ユーザー入力の統一やデータのフォーマット調整に役立ちます。

2. 文字列の大文字・小文字変換の基本的な考え方

2. 文字列の大文字・小文字変換の基本的な考え方
2. 文字列の大文字・小文字変換の基本的な考え方

PHPで大文字・小文字を変換するには、以下の2つの関数を使います。

  • strtoupper() - すべての文字を大文字に変換する
  • strtolower() - すべての文字を小文字に変換する

たとえば、ユーザーが入力したデータの表記ゆれを統一したいときなどに便利です。

3. strtoupper 関数の使い方(簡単な例)

3. strtoupper 関数の使い方(簡単な例)
3. strtoupper 関数の使い方(簡単な例)

strtoupper 関数を使うと、文字列をすべて大文字に変換できます。以下の例を見てみましょう。


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

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


HELLO WORLD!

このように、英字の小文字がすべて大文字に変換されました。

4. strtolower 関数の使い方(小文字に変換する方法)

4. strtolower 関数の使い方(小文字に変換する方法)
4. strtolower 関数の使い方(小文字に変換する方法)

strtolower 関数を使うと、文字列のすべての英字を小文字に変換することができます。

例えば、次のようなコードを実行すると、大文字の英字がすべて小文字になります。


<?php
$text = "HELLO WORLD!";
$lower_text = strtolower($text);
echo $lower_text;
?>

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


hello world!

このように、英字がすべて小文字に変換されました。ユーザーが入力するデータの表記ゆれを統一するのに便利です。

-

5. 大文字・小文字を変換する場面(実際の利用シーン)

5. 大文字・小文字を変換する場面(実際の利用シーン)
5. 大文字・小文字を変換する場面(実際の利用シーン)

PHPで大文字・小文字の変換を利用する場面はいくつかあります。具体的には以下のようなケースが考えられます。

  • ユーザーが入力したデータの表記ゆれを統一する(例:「Hello」「hello」を統一)
  • メールアドレスをすべて小文字に統一する(大文字・小文字の違いをなくす)
  • 検索機能で大文字・小文字を区別せずに比較できるようにする
  • データベースに保存する際、統一フォーマットで登録する

例えば、ユーザーがフォームに入力したメールアドレスをすべて小文字に統一することで、データの整合性を保つことができます。


<?php
$email = "Example@Gmail.com";
$normalized_email = strtolower($email);
echo $normalized_email;
?>

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


example@gmail.com

このように、メールアドレスの大文字・小文字を統一することで、データ管理がしやすくなります。

6. mb_strtoupper と mb_strtolower の使い方(マルチバイト文字の対応)

6. mb_strtoupper と mb_strtolower の使い方(マルチバイト文字の対応)
6. mb_strtoupper と mb_strtolower の使い方(マルチバイト文字の対応)

これまで紹介した strtoupperstrtolower は、英字の変換には適していますが、日本語の文字(マルチバイト文字)には対応していません。

例えば、次のコードを実行してみると、日本語の部分には変化がないことがわかります。


<?php
$text = "こんにちは HELLO WORLD!";
$converted_text = strtoupper($text);
echo $converted_text;
?>

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


こんにちは HELLO WORLD!

このように、日本語の部分は変換されず、英字だけが大文字になっています。

マルチバイト文字(日本語や中国語など)を適切に変換するには、mb_strtouppermb_strtolower を使います。


<?php
$text = "こんにちは Hello World!";
$upper_text = mb_strtoupper($text, "UTF-8");
echo $upper_text;
?>

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


こんにちは HELLO WORLD!

このように、マルチバイト対応の関数を使うことで、日本語が含まれていても正しく変換することができます。

7. ucfirst と ucwords の使い方(単語の最初の文字を大文字にする方法)

7. ucfirst と ucwords の使い方(単語の最初の文字を大文字にする方法)
7. ucfirst と ucwords の使い方(単語の最初の文字を大文字にする方法)

PHPでは、単語の先頭の文字だけを大文字にする方法として、ucfirstucwords という関数があります。

ucfirst の使い方

ucfirst は、文字列の最初の文字を大文字に変換する関数です。


<?php
$text = "hello world!";
$capitalized_text = ucfirst($text);
echo $capitalized_text;
?>

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


Hello world!

最初の「h」が大文字になり、それ以外の部分は変更されていません。

ucwords の使い方

ucwords を使うと、文章内のすべての単語の先頭を大文字にすることができます。


<?php
$text = "hello world! welcome to php.";
$capitalized_words = ucwords($text);
echo $capitalized_words;
?>

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


Hello World! Welcome To Php.

このように、各単語の先頭が自動的に大文字に変換されました。

8. strcasecmp を使った大文字・小文字を区別しない比較

8. strcasecmp を使った大文字・小文字を区別しない比較
8. strcasecmp を使った大文字・小文字を区別しない比較

PHPで文字列を比較する際に、大文字・小文字を区別せずに比較したい場合は strcasecmp 関数を使用します。

この関数は、2つの文字列を比較し、同じ場合は 0 を返します。


<?php
$string1 = "Hello";
$string2 = "hello";

if (strcasecmp($string1, $string2) == 0) {
    echo "同じ文字列です。";
} else {
    echo "異なる文字列です。";
}
?>

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


同じ文字列です。

通常の strcmp では「Hello」と「hello」は異なるものとして扱われますが、strcasecmp を使うと大文字・小文字の違いを無視して比較できます。

9. 実践!大文字・小文字変換のサンプルコード(応用編)

9. 実践!大文字・小文字変換のサンプルコード(応用編)
9. 実践!大文字・小文字変換のサンプルコード(応用編)

最後に、実際に活用できるサンプルコードを紹介します。

フォーム入力の大文字・小文字の統一

ユーザーがフォームに入力した名前の最初の文字を大文字に統一し、それ以外を小文字に変換する例です。


<?php
$name = "tAKashi yAMADA";
$formatted_name = ucwords(strtolower($name));
echo $formatted_name;
?>

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


Takashi Yamada

ユーザーの入力ミスを防ぎ、統一されたフォーマットで保存できます。

メールアドレスの標準化

メールアドレスは通常、小文字で統一して扱います。そのため、strtolower を使って統一します。


<?php
$email = "UserName@Example.Com";
$normalized_email = strtolower($email);
echo $normalized_email;
?>

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


username@example.com

このように、データの整合性を保つために、大文字・小文字変換を活用できます。

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

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

カテゴリの一覧へ
新着記事
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 の文字列の基本操作(連結・切り出し・長さ)の使い方
-