UPDATE:2019年09月18日
PHP の 変数名
- 変数名の最初は $ (ドル) 記号
- 変数名では 大文字小文字は区別される
- 変数名 1 文字目
[ a~z ](大文字小文字区別される) or
[ A~Z ](大文字小文字区別される) or
[ Ox7F~0xFF ](ASCIIコード) or
[ _ ](アンダーバー) - 変数名 2 文字目以降
1 文字目+[ 0~9 ]数字が追加
変数名の命名規則
- 最初は「$(ドル)」記号
- 変数名では大文字小文字は区別される
- 1文字目使用できる文字
- 2文字目以降
[ A~Z ] 大文字小文字は区別される
[ Ox7F~0xFF ] コードを持つ文字
[ _ ] アンダーバー
変数名は識別子です。識別子についてはこちらをご参照下さい。変数名は常に「$(ドル)」記号で始まります。変数名の最初の1文字目として使用できるのは、「アルファベットの大文字と小文字」、「アンダースコア( _ )」、「ASCIIコードで、( 0x7F )から( 0xFF )までの文字」のいずれかのみとなります。0x7F~0xFF(ASCIIコード)を使用することで、日本語の変数名も付けることが出来ます。ひらがな、カタカナ、漢字などです。アルファベットは大文字小文字が区別されます。2番目以降には、1文字目で使用できる文字に加えて「 0~9 の数字」も使用できます。
PHPでは、変数宣言や型の宣言は必要ありません。
以下はそれぞれ異なる変数名です。
1 2 3 4 5 6 7 8 9 | <!-- サンプルコード --> <?php $varName = '変数名';//OK $VarName = '変数名';//OK $_varName = '変数名';//OK $v1 = '変数名';//OK $V1 = '変数名';//OK $_1 = '変数名';//OK ?> |
以下の場合、変数名を数値で始めたり、アンダーバー以外の記号を使用しているのでエラーになります。
1 2 3 4 5 | <!-- サンプルコード --> <?php $1varName = '変数名';//ERROR 数値で始めてはいけません。 $var-Name = '変数名';//ERROR アンダーバー以外の記号は使用できません。 ?> |
変数名について
- 変数名は分かりやすい名前を付ける
識別子の項でも書きましたが、変数名を決めること(ネーミング作業)はプログラムコードを記述する上で大切な作業の一つです。変数名が長いとコードも長くなりますし、読み辛くもなります。短すぎると他の変数名と被ってしまう場合があります。変数名は適当な長さで格納している値がどのような値なのか連想できる名前を付けるようにするとよいでしょう。
PHP では 変数名 の命名規則として スネークケース を採用する場合が多くあります。スネークケースは、すべての単語を小文字で記述し、各単語の間にアンダースコアを挿入して繋ぎ合わせます。
1 2 3 | var_var_var function_function_function class_class_class |
また、文字列ならstringのsを頭文字に使用して $sName = ‘山田太郎’;、数値ならintegerのiを頭文字に使用して $iZipCode = 1112222; などどし、変数名で意図している型が連想できるように記述することを推奨するプログラマーの方もいます。このような記述をシステムハンガリアン記法と言います。
ここで注意しなければならないのは、PHPは型付けの弱い言語で、型付けの宣言がなくてもPHPが文脈から自動的に型付けをします。上記のように $sName という変数があり、文字列型を意図している変数名であっても、データ型を保証しているわけではないということです。実際には数値が格納されていて、整数型である場合もあるでしょう。PHPではそのようなことも起こりえます。$sName などとする変数名はコードを少し見やすくする一つの工夫と考えて下さい。
識別子の命名規則の例
アッパーキャメルケース(Upper Camel Case)(パスカルケース)
各単語の頭文字(先頭文字)を大文字で記述します。大文字と小文字の凹凸がラクダのコブのように見えることからキャメルケースと呼ばれます。Java、Python、PHP などの言語で クラス名 等で採用されています。
1 2 3 | VarVarVar FunctionFunctionFunction ClassClassClass |
ローワーキャメルケース(Lower Camel Case)
最初の単語の頭文字は小文字で記述し、以降の各単語の頭文字(先頭文字)を大文字で記述します。大文字と小文字の凹凸がラクダのコブのように見えることからキャメルケースと呼ばれます。Java、C#、Swift、JavaScript などの言語で、変数名や関数名 等で採用されています。
1 2 3 | varVarVar functionFunctionFunction classClassClass |
スネークケース(snake case)(アンダースコア記法)
すべての単語を小文字で記述し、各単語の間にアンダースコアを挿入して繋ぎ合わせます。データベースのテーブル名やフィールド名などで使用されます。WordPressでは変数名や関数名の命名規則として使用しており、PHPのフレームワークcodeigniterでも、クラス名、メソッド名、変数名などで採用されています。
c、C++、Python、PHP などの言語で、変数名や関数名 等で利用されています。
1 2 3 | var_var_var function_function_function class_class_class |
コンスタントケース(constant case)
すべての単語を大文字で記述し、各単語の間に「 _ (アンダースコア)」を挿入して繋ぎ合わせます。定数名などで使用されます。多くの言語で定数名として採用されています。
1 2 3 | VAR_VAR_VAR FUNCTION_FUNCTION_FUNCTION CLASS_CLASS_CLASS |
ケバブケース(kebab case)
各単語の間に「 – (ハイフン)」を挿入して繋ぎ合わせます。HTML や CSS で採用されています。
1 2 3 | var-var-var function-function-function class-class-class |
システムハンガリアン記法
一番最初にデータ型の頭文字を小文字で挿入し、以降をアッパーキャメルケース(各単語の頭文字を大文字で記述)で記述します。例えば数値であれば integer の i を頭文字に挿入します。文字列であれば string の s 、浮動小数点であれば float の f となります。
1 2 3 | iScore sName fRoot2 |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!-- サンプルコード --> <?php $varName = '変数名 $varName';//OK $VarName = '変数名 $VarName';//OK $_varName = '変数名 $_varName';//OK $v1 = '変数名 $v1';//OK $V1 = '変数名 $V1';//OK $_1 = '変数名 $_1';//OK echo $varName."<br>\n"; echo $VarName."<br>\n"; echo $_varName."<br>\n"; echo $v1."<br>\n"; echo $V1."<br>\n"; echo $_1."<br>\n"; ?> |
変数名 $varName
変数名 $VarName
変数名 $_varName
変数名 $v1
変数名 $V1
変数名 $_1
タグ(=記事関連ワード)
日付
最終更新日:2019年09月18日