PHPの変数と定数について

  • PHP
  • 現在地

変数

変数を利用する際の注意点
  1. 変数名の前に '$' 記号が必要。
  2. 変数名の頭文字は、文字列かアンダースコア(_)でなければならず、また、アンダースコア以外の記号を変数名に利用することはできない。

    つまり、先頭に半角の数字を置くことはできません。

  3. 宣言を必要としない。
ローカルスコープ(関数内)でのグローバル変数の使用
ローカル関数の中で、global を変数の前に記述して一度宣言する必要がある。
参照による代入

$変数名の前にアンパサンド (&) を記述したものを、別の変数に格納することで参照による代入が行える。

この代入を行うと、代入された変数に変化があった場合、参照元の変数も変化するようになります。(逆も同様)

  • $b = &$a;
  • $b = 'abc';

上記の例の場合、$a に 'abc' という文字列が格納されます。

つまり、参照値が同一となった二つの変数は、同一の値を持つことになる。

可変変数

$変数名の前にさらにドル ($) 記号を付けることで、その変数に格納されている値の変数を作成できる。

下の例では、$a に 'これは' が格納されているので、$$a は '$これは' となり、その中に 'sample' が格納されます。

  • $a = 'これは';
  • $$a = 'sample';

この例の通り、日本語の文字列を変数名にすることも可能ですが、上にある変数名に利用できない文字が入っていた場合は、エラーになります。

GET/POSTパラメータの受け取り

フォームから受け取ったGET/POSTパラメータは、それぞれ $_GET / $_POST に連想配列として格納される。

つまり、あるページのフォームからPOSTパラメータを受け取った場合、フォーム内の name の値でパラメータを参照できます。

  • $a = $_POST['name'];

この場合、受け取ったPOSTパラメータ内の 'name' に格納された値が、$a に格納されることになります。

定数

定数として定義された値は、スクリプトの中で変更することはできません。

定数の定義
define('定数名', '値');
定数を利用する際の注意点
  1. 定数では、'$' 記号は必要なし。
  2. 変数同様、アンダースコア以外の記号は使えず、先頭に半角数字を置いてはならない。
  3. スコープは関係なく、定義されれば、どこでも利用可能。

define() 以外に const キーワードによる定数の定義方法もありますが、そちらは制御構文内で定義できないという制約があります。

定数の有無の確認
defined('定数名'); (戻り値は true/false)

スポンサードリンク

inserted by FC2 system