皆さん、こんにちは。穂苅智哉と申します。
このコラムでは、私が PHP8技術者認定初級試験のための公式問題集(PHP8 技術者認定初級試験公式問題集)で学習した内容やポイントを取り上げて解説をしていくものです。
P19~27 のChapter 2 変数と定数を学習してみました。
PHPの変数
プログラミングにおける変数とは、「データを一時的に記憶しておく場所(箱)」と表現されます。「データ」は文字列や数値、真偽値などがあり、変数の中にデータを入れたり読み出したりして使っていきます。これにより、データを記憶していく箱ごとに管理ができるため、コードがシンプルになりますし、その箱自体を使っていくことでデータを再利用することも可能になります。プログラミング基礎においては変数はとても重要なものであると言えます。
ちなみに、英語で変数はVariableといいます。
【まとめ】
- 変数とは:データを一時的に記憶しておく場所(箱)
- 変数でできること:データの保持、代入、演算
- 変数のメリット:コードがシンプルになる、データの再利用が容易になる
PHPにおける変数のルールはいくつかあり、重要なルールとしては以下になります。
【PHPにおける変数ルール】
- 1文字目:$
- 2文字目:文字 or アンダースコア(※2文字目に数字が使えない)
- 3文字目以降:文字 or 数字 or アンダースコア
このルールから、PHPの変数としては以下のようなパターンが利用できるということになります。
- 変数として使える名前の例
- $Var
- $var
- $VAR
- $_ var11
- $___jjj___
- $あいうえお
- 変数名として使えない名前の例
- $123
- $-var
次に、変数を使って出力をしてみるとこういった形になります。例では、Varという名前の変数と、_ver11という変数を用意しました。
<?php $Var =’太郎’; $_var11 = ‘山田’; echo “$Var, $_var11”; ?> |
出力:太郎, 山田
【疑問】変数名の付け方
変数を勉強している中で、当然変数名はわかりやすいものをつける必要があるのですが、どういう名前をつけていくのが望ましいのかが気になりました。
基本的なことは、PHPマニュアルに書いてあるのですが実際の業務ではどのように考えていくのかを知りたいと思い調べていくと、会社としてのルールを作り、変数名を見るだけでどんな情報が入っているのかを明確にしておくことが重要だということがわかりました。
例えば、以下のような例はわかりやすくていい変数名です
- $error_message:エラーメッセージが入る変数だとわかる
- $user_id:ユーザーIDが入る変数だとわかる
その他のTipsとしては、変数名と関係するデータベースのカラム名があれば一致させておくことでわかりやすくなるということでした。
逆に、日本語での命名は望ましくないようで、例えば「名前」の変数を作る場合は、$namae ではなく、$name とするというような具合です。
変数名の注意点
変数の付け方についてはここまでで私も理解しましたが、その他の注意点もありました。それが、「変数は、大文字と小文字の区別がされる」ということです。「当たり前でしょ」、と思っていたのですが、実は関数の場合は大文字と小文字が区別されずに同じものとして扱われるというルールのため、とてもややこしいと感じました。
例えば、以下のような形です。
- 変数は、大文字と小文字の区別がされるため、以下の2つは別扱い
- $manager_name
- $MANAGER_NAME
- 関数は、大文字と小文字の区別がされないため、以下の2つは同じもの
- function manager_name() { }
- function MANAGER_NAME() { }
今回は変数をメインに学習しているので良いのですが、この後に関数などの別のものが入ってきてしまうと明確なルールを決めておかないとコードがとても見づらくなってしまいますね。
今回の学習では、アンダースコアを使って単語をつなげて変数名を作りましたが、実はこれもいくつかやり方があり、会社やプロジェクトによっても異なるかもしれないので最後にまとめておきます。
命名規則 | 変数名の例 |
スネークケース | $manager_name |
キャメルケース | $managerName |
パスカルケース | $ManagerName |
PHP8技術者認定初級試験で正しいPHPの理解を
今回は、PHPの基礎で、ずっと使い続けていく「変数」をテーマにしました。ルールが明確にある部分と、そのルールを使ってエンジニアが考えてPHPを使っていくところがあるため、本質を理解しておかないと使いこなすのが難しいなぁという印象です。次回以降もPHPで学習した内容をシェアしていきますので、よろしくお願いいたします。
また、PHPの学習やエンジニアになるためのマイルストーンとして、PHP試験はおすすめです。PHP8技術者認定初級試験はPHPを扱うあらゆる方にとって有益な試験になるはずですので、ご興味がある方はぜひチャレンジしてみてください。
試験ページ: PHP8初級試験
公式問題集:PHP8 技術者認定初級試験公式問題集