・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月04日に投稿されました。)
PHPで文字列全体を大文字に変換する関数として、strtoupper()があります。
strtoupper()とは指定した半角アルファベットの文字列全体を大文字にする関数になります。
例えば、「VwXyz」という文字列にstrtoupper()を使用すると、「VWXYZ」のように自分で設定した半角アルファベットの文字列が全て大文字になって返されます。
半角アルファベットの文字列を大文字にすることから、全角アルファベットの文字列を変換することができませんので注意してください。
もし、全角アルファベットを大文字に変換したい場合は、mb_strtoupper()を使用してください。
また、指定した配列の値が半角アルファベットであれば、strtoupper()で全体を大文字にすることも可能です。
今回はPHPのstrtoupper()で文字列全体を大文字に変換する方法について紹介していきます。
strtoupper()とは
冒頭でも言いましたが、strtoupper()とは、アルファベットの文字列を大文字に変換する関数となります。
しかし、変換できるのは半角のアルファベットのみで全角のアルファベットは変換できませんので注意してください。
ちなみに、半角は半角でも「ü」のようなウムラウトも大文字に変換できませんので注意が必要です。
strtoupper()の書き方
strtoupper()は下記のように記述します。
1 | <?php strtoupper('大文字に変換する文字列'); ?> |
strtoupper()は1つのパラメータを指定することで、使用することができます。
strtoupper()のパラメータ
strtoupper()のパラメータは下記のようになります。
- 大文字に変換する文字列(必須):
大文字にしたい半角アルファベットの文字列を指定する
strtolower()は必須なパラメータとして、「大文字に変換する文字列」を指定します。
strtoupper()で文字列全体を大文字に変換するサンプルコード
strtoupper()で文字列全体を大文字に変換するサンプルコードについてご紹介します。
ここでは、下記の2つの場合でstrtoupper()を使用してみます。
- 半角の文字列を指定した場合
- 全角の文字列を指定した場合
半角の文字列を指定した場合
半角の文字列を指定した場合に、strtoupper()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php $text1 = 'OpqrStuvWxyz'; echo '・対象の文字列'; echo $text1; $text1_stu = strtoupper($text1); echo '・strtoupper()使用後'; echo $text1_stu; ?> |
実行結果
小文字だった半角アルファベットの文字列が大文字に変換されています。
そのため、「OpqrStuvWxyz」が「OPQRSTUVWXYZ」になって表示されています。
全角の文字列を指定した場合
全角の文字列を指定した場合に、strtoupper()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php $text2 = 'opqrstuvwxyz'; echo '・対象の文字列'; echo $text2; $text2_stl = strtolower($text2); echo '・strtolower()使用後'; echo $text2_stl; ?> |
実行結果
全角のアルファベット文字列が変換されずに表示されています。
そのため、strtoupper()は全角アルファベットの文字列には対応していません。
指定した配列の値を大文字に変換するサンプルコード
strtoupper()で指定した配列の値を大文字に変換するサンプルコードについて紹介します。
ここでは、下記の2つの場合でstrtoupper()を使用してみます。
- 配列の値を指定した場合
- 連想配列の値やキーを指定した場合
配列の値を指定した場合
strtoupper()に配列の値を指定して使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $array1 = ['oPq','rst','uvw','xYz']; echo '● 対象の1次元配列'; var_dump($array1); // 指定した配列の値のみに使用した場合 $array1_stu1 = strtoupper($array1[2]); echo '・strtoupper()使用後1-1'; echo $array1_stu1; // 全ての配列の値に使用した場合 echo '・strtoupper()使用後1-2'; foreach ($array1 as $val) { $array1_stu2 = strtoupper($val); echo $array1_stu2; echo "\n"; } ?> |
実行結果
指定した配列の値が、strtoupper()によって大文字に変換されています。
また、foreach文の中でstrtoupper()を使用することで、配列の値全てを大文字に変換することができます。
foreach文について詳しく知りたい場合は、下記の記事をご参考ください。
連想配列の値やキーを指定した場合
strtoupper()に連想配列の値やキーを指定して使用してみます。
⚫︎ 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' => 'opQ', 'two' => 'Rst', 'three' => 'uVw', 'four' => 'Xyz', 'five' => 'Abc', ]; echo '● 対象の連想配列'; var_dump($array2); // 指定した連想配列の値のみに使用した場合 $array2_stu1 = strtoupper($array2['two']); echo '・strtoupper()使用後1-1'; echo $array2_stu1; // 全ての連想配列の値に使用した場合 echo '・strtoupper()使用後1-2'; foreach ($array2 as $val) { $array2_stu2 = strtoupper($val); echo $array2_stu2; echo "\n"; } // 全ての連想配列のキーに使用した場合 echo '・strtoupper()使用後1-3'; $keys = array_keys($array2); foreach ($keys as $key) { $array2_stu3 = strtoupper($key); echo $array2_stu3; echo "\n"; } ?> |
実行結果
指定した連想配列の値が、strtoupper()によって大文字に変換されています。
また、foreach文の中でstrtoupper()を使用することで、連想配列の値やキー全てを小文字に変換することができます。
全角文字列の全体を小文字に変換する場合
全角文字列の全体を大文字に変換する場合は、mb_strtoupper()を使用します。
mb_strtoupper()とは、マルチバイトのアルファベット文字列を大文字に変換する関数となります。
そして、パラメータとしてUnicodeを指定することができるので、ウムラウトのアルファベットも大文字に変換することが可能になります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $text3_1 = 'abcdefghiukjlmn'; echo '・対象の文字列1'; echo $text3_1; $text3_1_mbstu = mb_strtoupper($text3_1,"UTF-8"); echo '・mb_strtoupper()使用後1'; echo $text3_1_mbstu; $text3_2 = 'äöü'; echo '・対象の文字列2'; echo $text3_2; $text3_2_mbstu = mb_strtoupper($text3_2, "UTF-8"); echo '・mb_strtoupper()使用後2'; echo $text3_2_mbstu; ?> |
実行結果
mb_strtoupper()によって全角の文字列が大文字に変換されています。
また、「ä」のようなウムラウトのアルファベットも大文字に変換されています。
文字列の全体を小文字に変換する場合
文字列の全体を小文字に変換する場合は、strtolower()を使用します。
strtolower()とは、アルファベット全体の文字列を小文字に変換する関数となります。
そのため、今回紹介しているstrtoupper()とは、対になる関数となります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 | <?php $text4 = 'OPqRSTuVWxYZ'; echo '・対象の文字列'; echo $text4; $text4_stl = strtolower($text4); echo '・strtolower()使用後'; echo $text4_stl; ?> |
実行結果
指定したアルファベットの文字列が、strtolower()によって小文字に変換されています。
そのため、「OPqRSTuVWxYZ」が「opqrstuvwxyz」になって表示されています。
もし、strtolower()について詳しく知りたい場合は下記の記事をご参考ください。
まとめ
⚫︎ strtoupper()とは、アルファベットの文字列を大文字に変換する関数である
⚫︎ strtoupper()を使用するには1つのパラメータを指定する
・ 大文字に変換する文字列(必須)
⚫︎ 半角の文字列を指定した場合に、strtoupper()を使用すると、小文字であるアルファベットが大文字に変換される
⚫︎ 全角の文字列を指定した場合に、strtoupper()を使用すると、変換されない
⚫︎ strtoupper()は、文字列だけでなく指定した配列の値を大文字に変換することができる
(連想配列のキーや値でも可能)
⚫︎ 全角アルファベットの文字列を大文字に変換する場合は、mb_strtoupper()を使用する
⚫︎アルファベットの文字列を小文字に変換するには、strtolower()を使用する