UPDATE:2020年06月25日
PHP の 大文字 小文字 の 区別 の なし/あり について
PHP の 大文字 小文字 の区別 簡単めとめ
- 関数名
- クラス名
- 組み込みキーワード名
(echo,while,class,for…)
- 変数名
- 定数名
大文字小文字 区別 なし の場合
区別 なし
- 関数名
- クラス名
- 組み込みキーワード名(echo,while,class,for,,,,)
関数名(自身で作成するユーザー定義関数名と PHP で予め組み込まれている定義済み関数名のことです。) 、クラス名(自身で作成するユーザー定義クラス名と PHP で予め組み込まれている定義済みクラス名のことです。)、そしてecho や、if、while、class、ture、false などといった組み込みキーワード では大文字/小文字の区別はされません。キーワードは予約語とも言います。組み込みキーワードについてはこちらを参照下さい。
関数名
関数名は関数定義時も呼び出し時も大文字小文字を区別しません。
ユーザー定義関数名
例えば、function echo_hello(){・・・} というユーザー定義関数を作成します。この関数を呼び出す場合、呼び出し時に ECHO_HELLO、Echo_Hello、ECHO_hello というような記述をしても、すべては同じ意になり、呼び出し可能です。作成時も function ECHO_HELLO(){・・・} や function Echo_Hello(){・・・} などと記述しもて同じ意になります。 関数名の詳細はこちらをご参照下さい。
1 2 3 4 5 6 7 8 9 10 | <?php //ユーザー定義関数 function echo_hello(){ echo "Hello World!<br>\n"; } //関数呼び出し ECHO_HELLO(); Echo_Hello(); ECHO_hello(); ?> |
結果は
Hello World!
Hello World!
となります。
注意することは、大文字小文字が区別されないので、定義時に、function echo_hello( ) {・・・} と function ECHO_HELLO( ) {・・・} の2つを定義した場合、同じ関数名の関数が2つ定義されていることになるので、「PHP Fatal error: Cannot redeclare ECHO_HELLO()」というエラーが発生します。
定義済み関数名
PHP で予め用意されている定義済み関数の関数名においても大文字小文字を区別しません。
1 2 3 4 5 6 7 8 | <?php $array = array('a', 'b'); //大文字の関数名で呼び出す if(IS_ARRAY($array)) echo "存在します。<br>\n"; //小文字の関数名で呼び出す if(is_array($array)) echo "存在します。<br>\n"; ?> |
定義済み関数の is_array は大文字でも小文字でも呼び出せます。
定義済み関数一覧を取得するには、 get_defined_functions() で呼び出せます。
1 2 3 | echo '<pre>'; var_dump(get_defined_functions()); echo '</pre>'; |
クラス名
ユーザー定義クラス名
クラス名も関数名と同じです。例えば、class class_name {・・・} というユーザー定義クラスを作成します。 このクラスを呼び出す場合、CLASS_NAME、Class_Name、CLASS_name というような記述をしても、すべては同じ意になり呼び出し可能です。クラス名の詳細はこちらをご参照下さい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php //ユーザー定義クラス class class_name{ function echo_hello(){ echo "Hello World!!<br>\n"; } } //CLASS_NAMEで呼び出し $object = new CLASS_NAME; $object->echo_hello(); //Class_Nameで呼び出し $object = new Class_Name; $object->echo_hello(); //CLASS_nameで呼び出し $object = new CLASS_name; $object->echo_hello(); ?> |
結果は
Hello World!
Hello World!
となります。
ユーザー定義クラス名もユーザー定義関数名と同じように、クラス定義時に、class class_name{・・・} と class CLASS_NAME{・・・} と2つを定義した場合、同じクラスが2つ定義されていることになるので、「PHP Fatal error: Cannot redeclare class CLASS_NAME」というエラーが発生します。
定義済みクラス名
PHP で予め用意されている定義済みクラスのクラス名においても大文字小文字を区別しません。定義済みクラスの DateTime() を大文字と小文字で呼び出してみます。
1 2 3 4 5 6 7 8 9 | <?php //大文字のクラス名で呼び出す $objDateTime = new DATETIME('2020-01-01 00:00:00'); echo $objDateTime->format('Y-m-d H:i:s')."<br>\n"; //2020-01-01 00:00:00 //小文字のクラス名で呼び出す $objDateTime = new datetime('2020-01-01 00:00:00'); echo $objDateTime->format('Y-m-d H:i:s')."<br>\n"; //2020-01-01 00:00:00 ?> |
結果は
2020-01-01 00:00:00
となります。
定義済みクラス一覧を取得するには、 get_declared_classes() で呼び出せます。
1 2 3 | echo '<pre>'; var_dump(get_declared_classes()); echo '</pre>'; |
組み込みキーワード
組み込みキーワードも大文字小文字の区別がされません。 echo という 組み込みキーワード の場合、echo、ECHO、Echoの3つは同じ意になります。
1 2 3 4 5 | <?php echo("hello, world<br>\n"); ECHO("hello, world<br>\n"); Echo("hello, world<br>\n"); ?> |
結果は
hello, world
hello, world
となります。
大文字小文字 区別 あり の場合
区別 あり
- 変数名
- 定数名
変数名や定数名は大文字小文字が区別されます。
変数名
以下の例の3つの変数名はそれぞれ異なる変数名になります。変数名は「$ドル記号」の後に変数名が続く形式で記述されます。変数名についての詳細はこちらを参照下さい。
1 2 3 4 5 6 | <?php $name = '田中さん'; $NAME = '鈴木さん'; $Name = '佐藤さん'; echo $name.'<br>'.$NAME.'<br>'.$Name; ?> |
結果は
鈴木さん
佐藤さん
となります。
大文字小文字 が区別されるので、変数を $name = '田中さん'; と定義して echo $NAME; で呼び出すと、「PHP Notice: Undefined variable: NAME」というエラーが発生します。$NAME は定義されていない、というエラーです。
定数名
定数名と定数は define()関数 で定義します。定数は簡単な値を保持する名前(ID)です。簡単な値「=スカラー値:理論値、整数、浮動小数点数、あるいは、文字列」を格納します。定数名の詳細はこちらを参照下さい。
1 2 3 4 5 6 | <?php define('E_M_C_2', '特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗'); echo E_M_C_2."<br>\n"; define('e_m_c_2', '特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗'); echo e_m_c_2."<br>\n"; ?> |
結果は
特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗
となります。
定数名も大文字と小文字が区別されるので、例えば、define('E_M_C_2', '特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗');と定義して、echo e_m_c_2."<br>\n"; と呼び出せば、単純に、「E_M_C_2」と文字列が表示されるだけです。
小文字 を 大文字 に変換
PHP4.3 PHP5 PHP7
string 文字列 = mb_strtoupper('string $string');
- パラメーター:「string $string 」アルファベットを大文字に変換する文字列を入力します。
- 返り値:「string $string」すべてのアルファベットを大文字に変換した文字列を返します。
1 2 3 4 5 6 | <?php //小文字を大文字にする $string = "Let's study the PHP programming!"; $string = mb_strtoupper($string); echo $string."<br>\n"; ?> |
結果は
となります。
大文字 を 小文字 に変換
PHP4.3 PHP5 PHP7
string 文字列 = mb_strtolower('string $string');
- パラメーター:「string $string 」アルファベットを小文字に変換する文字列を入力します。
- 返り値:「string $string」すべてのアルファベットを小文字に変換した文字列を返します。
1 2 3 4 5 6 | <?php //大文字を小文字にする $string = "Let's study the PHP programming!"; $string = mb_strtolower($string); echo $string."<br>\n"; ?> |
結果は
となります。
サンプルコード
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <h3>組み込みキーワードの場合</h3> <?php echo("hello, world<br>\n"); ECHO("hello, world<br>\n"); Echo("hello, world<br>\n"); ?> <h3>ユーザー定義関数名の場合</h3> <?php //ユーザー定義関数 function echo_hello(){ echo "Hello World!<br>\n"; } //関数呼び出し ECHO_HELLO(); Echo_Hello(); ECHO_hello(); ?> <h3>ユーザー定義クラス名の場合</h3> <?php //ユーザー定義クラス class class_name{ function echo_hello(){ echo "Hello World!!<br>\n"; } } //CLASS_NAMEで呼び出し $object = new CLASS_NAME; $object->echo_hello(); //Class_Nameで呼び出し $object = new Class_Name; $object->echo_hello(); //CLASS_nameで呼び出し $object = new CLASS_name; $object->echo_hello(); ?> <h3>変数名の場合</h3> <?php $name = '田中さん'; $NAME = '鈴木さん'; $Name = '佐藤さん'; echo $name."<br>\n"; echo $NAME."<br>\n"; echo $Name."<br>\n"; ?> <h3>定数名の場合</h3> <?php define('E_M_C_2', '特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗'); echo E_M_C_2."<br>\n"; define('e_m_c_2', '特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗'); echo e_m_c_2."<br>\n"; ?> <h3>小文字を大文字にする</h3> <?php $string = "Let's study the PHP programming!"; $string = mb_strtoupper($string); echo $string."<br>\n"; ?> <h3>大文字を小文字にする</h3> <?php $string = "Let's study the PHP programming!"; $string = mb_strtolower($string); echo $string."<br>\n"; ?> |
hello, world
hello, world
hello, world
ユーザー定義関数名の場合
Hello World!
Hello World!
Hello World!
ユーザー定義クラス名の場合
Hello World!!
Hello World!!
Hello World!!
変数名の場合
田中さん
鈴木さん
佐藤さん
定数名の場合
特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗
特殊相対性理論 エネルギー(E) = 質量(m)×光速度(c)の 2乗
小文字を大文字にする
LET’S STUDY THE PHP PROGRAMMING!
大文字を小文字にする
let’s study the php programming!
タグ(=記事関連ワード)
日付
最終更新日:2020年06月25日