mb_strtolower

関数の概要

mb_strtolower関数は、PHPのマルチバイト文字列を扱う際に使われる関数で、文字列中の全ての大文字を対応する小文字に変換します。日本語やその他のマルチバイト文字を含む文字列でも正しく動作するため、マルチバイト対応が必要なアプリケーションで重宝されます。

パラメータの説明

  • string:小文字に変換したい文字列を指定します。
  • encoding(省略可能):対象の文字列の文字エンコーディングを指定します。指定しない場合は内部エンコーディングが使われます。例として “UTF-8″、”SJIS” など。

戻り値

指定した文字列のすべての大文字が小文字に変換された新しい文字列を返します。文字列中に変換対象の大文字が無い場合は元の文字列と同じ内容の文字列が返ります。

使用例

基本的な使い方

$input = "HELLO WORLD";
$lower = mb_strtolower($input);
echo $lower;  // 出力: hello world

英字の大文字をすべて小文字に変換しています。マルチバイト文字は含まれていませんが、基本的な使い方です。

日本語を含む文字列の変換

$input = "ABCとabc";
$lower = mb_strtolower($input, "UTF-8");
echo $lower;  // 出力: abcとabc

こちらは全角英字とひらがなを含む文字列を変換しています。全角大文字英字が全角小文字英字に変換されています。

文字コードを指定して変換

$input = "HELLO WORLD";
$lower = mb_strtolower($input, "UTF-8");
echo $lower;  // 出力: hello world

エンコードを明示的に指定して変換しています。マルチバイトや全角の大文字も小文字に正しく変換されます。

関連する関数

  • mb_strtoupper – マルチバイト文字列を大文字に変換する
  • strtolower – マルチバイト非対応の小文字変換
  • mb_convert_case – 大文字・小文字変換を柔軟に行う
  • mb_internal_encoding – 内部文字エンコーディングの設定・取得

まとめ

mb_strtolower関数は、マルチバイト文字を含む文字列の大文字を小文字に安全かつ正確に変換できる便利な関数です。特に日本語などの全角英数字や多言語対応アプリケーションでの文字列処理に欠かせません。文字コードを正しく指定することで期待通りの結果を得やすくなります。マルチバイトを扱う際にはぜひ活用してください。