・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月03日に投稿されました。)
PHPで文字列全体を小文字に変換する関数として、strtolower()があります。
strtolower()とは指定した半角アルファベットの文字列全体を小文字にする関数になります。
例えば、「ABCDE」という文字列にstrtolower()を使用すると、「abcde」のように自分で設定した半角アルファベットの文字列を小文字にして返されます。
半角アルファベットの文字列を小文字にすることから、全角アルファベットの文字列を変換することができませんので注意してください。
もし、全角アルファベットを小文字に変換したい場合は、mb_strtolower()を使用してください。
また、指定した配列の値が半角アルファベットであれば、strtolower()で全体を小文字にすることも可能です。
今回はPHPのstrtolower()で文字列全体を小文字に変換する方法について紹介していきます。
strtolower()とは
冒頭でも言いましたが、strtolower()とは、アルファベットの文字列を小文字に変換する関数となります。
しかし、変換できるのは半角のアルファベットのみで全角のアルファベットは変換できませんので注意してください。
ちなみに、半角は半角でも「Ä」のようなウムラウトも小文字に変換できませんので注意が必要です。
strtolower()の書き方
strtolower()は下記のように記述します。
1 | <?php strtolower('小文字に変換する文字列'); ?> |
strtolower()は1つのパラメータを指定することで、使用することができます。
strtolower()のパラメータ
strtolower()のパラメータは下記のようになります。
- 小文字に変換する文字列(必須):
小文字にしたいアルファベットの文字列を指定する
strtolower()は必須なパラメータとして、「小文字に変換する文字列」を指定します。
strtolower()で文字列全体を小文字に変換するサンプルコード
strtolower()で文字列全体を小文字に変換するサンプルコードについてご紹介します。
ここでは、下記の2つの場合でstrtolower()を使用してみます。
- 文字列全体が半角である場合
- 文字列全体が全角である場合
文字列全体が半角である場合
文字列全体が半角である場合に、strtolower()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php $text1 = 'ABCDEFGHIJKLMN'; echo '・対象の文字列'; echo $text1; $text1_stl = strtolower($text1); echo '・strtolower()使用後'; echo $text1_stl; ?> |
実行結果
大文字だった半角アルファベットの文字列が小文字に変換されています。
そのため、「ABCDEFGHIJKLMN」が「abcdefghijklmn」になって表示されています。
文字列全体が全角である場合
文字列全体が全角である場合に、strtolower()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php $text2 = 'ABCDEFGHIJKLMN'; echo '・対象の文字列'; echo $text2; $text2_stl = strtolower($text2); echo '・strtolower()使用後'; echo $text2_stl; ?> |
実行結果
全角のアルファベット文字列が変換されずに表示されています。
そのため、strtolower()はアルファベットでも全角の文字列には対応していません。
指定した配列の値を小文字に変換するサンプルコード
strtolower()で指定した配列の値を小文字に変換するサンプルコードについて紹介します。
ここでは、下記の2つの場合でstrtolower()を使用してみます。
- 配列の値を指定した場合
- 連想配列の値やキーを指定した場合
配列の値を指定した場合
配列の値にstrtolower()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $array1 = ['ABC','DEF','GHI','JKL', 'MNO']; echo '● 対象の1次元配列'; var_dump($array1); // 指定した配列の値のみに使用した場合 $array1_stl1 = strtolower($array1[2]); echo '・strtolower()使用後1-1'; echo $array1_stl1; // 全ての配列の値に使用した場合 echo '・strtolower()使用後1-2'; foreach ($array1 as $val) { $array1_stl2 = strtolower($val); echo $array1_stl2; } ?> |
実行結果
指定した配列の値が、strtolower()によって小文字に変換されています。
また、foreach文の中でstrtolower()を使用することで、配列の値全てを小文字に変換することができます。
連想配列の値やキーを指定した場合
連想配列の値やキーにstrtolower()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php $array2= [ 'ONE' => 'ABC', 'TWO' => 'DEF', 'THREE' => 'GHI', 'FOUR' => 'JKL', 'FIVE' => 'MNO', ]; echo '● 対象の連想配列'; var_dump($array2); // 指定した連想配列の値のみに使用した場合 $array2_stl1 = strtolower($array2['FIVE']); echo '・strtolower()使用後1-1'; echo $array2_stl1; // 全ての連想配列の値に使用した場合 echo '・strtolower()使用後1-2'; foreach ($array2 as $val) { $array2_stl2 = strtolower($val); echo $array2_stl2; } // 全ての連想配列のキーに使用した場合 echo '・strtolower()使用後1-3'; $keys = array_keys($array2); foreach ($keys as $key) { $array2_stl3 = strtolower($key); echo $array2_stl3; } ?> |
実行結果
指定した連想配列の値が、strtolower()によって小文字に変換されています。
また、foreach文の中でstrtolower()を使用することで、連想配列の値やキー全てを小文字に変換することができます。
foreach文について詳しく知りたい場合は、下記の記事をご参考ください。
全角文字列の全体を小文字に変換する場合
全角文字列の全体を小文字に変換する場合は、mb_strtolower()を使用します。
mb_strtolower()とは、マルチバイトのアルファベット文字列を小文字に変換する関数となります。
そして、パラメータとしてUnicodeを指定することができるので、ウムラウトのアルファベットも小文字に変換することが可能になります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $text3_1 = 'OPQRSTUVWXYZ'; echo '・対象の文字列1'; echo $text3_1; $text3_1_mbstl = mb_strtolower($text3_1,"UTF-8"); echo '・mb_strtolower()使用後1'; echo $text3_1_mbstl; $text3_2 = 'ÄÖÜ'; echo '・対象の文字列2'; echo $text3_2; $text3_2_mbstl = mb_strtolower($text3_2,"UTF-8"); echo '・mb_strtolower()使用後2'; echo $text3_2_mbstl; ?> |
実行結果
mb_strtolower()によって全角の文字列が小文字に変換されています。
また、「Ä」のようなウムラウトのアルファベットも小文字に変換されています。
文字列の全体を大文字に変換する場合
文字列の全体を大文字に変換する場合は、strtoupper()を使用します。
strtoupper()とは、アルファベット全体の文字列を大文字に変換する関数となります。
そのため、今回紹介しているstrtolower()とは、対になる関数となります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php $text4 = 'abcdefghijklmn'; echo '・対象の文字列'; echo $text4; $text4_stu = strtoupper($text4); echo '・strtoupper()使用後'; echo $text4_stu; ?> |
実行結果
指定したアルファベットの文字列が、strtoupper()によって大文字に変換されています。
そのため、「abcdefghijklmn」が「ABCDEFGHIJKLMN」になって表示されています。
もし、strtoupper()について詳しく知りたい場合は下記の記事をご参考ください。
まとめ
⚫︎ strtolower()とは、アルファベットの文字列を小文字に変換する関数である
⚫︎ strtolower()を使用するには1つのパラメータを指定する
・ 小文字に変換する文字列(必須)
⚫︎ 文字列全体が半角である場合に、strtolower()を使用すると、大文字であるアルファベットが小文字に変換される
⚫︎ 文字列全体が全角である場合に、strtolower()を使用すると、変換されない
⚫︎ strtolower()は、文字列だけでなく指定した配列の値を小文字に変換することができる
(連想配列のキーや値でも可能)
⚫︎ 全角アルファベットの文字列を小文字に変換する場合は、mb_strtolower()を使用する
⚫︎アルファベットの文字列を大文字に変換するには、strtoupper()を使用する