変数とは
変数とは文字や数値を入れることができる箱のようなものです。
変数に値を入れて作成することを「変数を宣言する」、変数に値を入れることを「代入」、値を取り出すことを「参照」といいます。
コードの書き方
<?php
$variable = 'qiita';
echo $variable; // 'qiita'と表示されます
$number = 1;
$number = $number + 1;
echo $number; // 2と表示される
「''(シングルクォーテーション)or ""(ダブルクォーテーション)」 でくくった場合は文字列(string型)として扱われます。
数値(integer型)を宣言する場合は、シングルクォーテーション(またはダブルクォーテーション)はいりません。
変数名についての注意点
変数は先頭に数字はつけられません。
また、変数名は、小文字・大文字を区別します。
<?php
$2variable = 100; // 数字から宣言されているのでエラーとなります。
$variable = 'qiita';
$Variable = 'qiita2'; // $variableとは別の変数です。
$variable_name = 'PHP初心者プログラミング'; // 「_」で繋げることができます
変数のスコープについて
変数のスコープとは、変数を呼び出せる場所のことです。
関数やクラスから定義して使用できる「ローカルスコープ」とどこからでも呼び出せる「グローバルスコープ」があります。
ローカルスコープ
$number = 100;
function number() {
$number = 200;
echo $number; // 200
}
echo $number; // 100
グローバルスコープ
<?php
$variable = 'グローバルスコープ';
function method()
{
return $variable;
}
echo $variable; // 'グローバルスコープ';
echo method(); // Undefined Variable
「グローバルスコープ」はグローバルと付いていますが、関数内で使用する事は出来ません。
なので、「echo method(); 」の部分でerrorとなっています。
スーパーグローバル変数
スコープを問わずに使用できるスーパーグローバル変数というものがあります。
以下がスーパーグローバル変数の一覧です。
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
$_POSTの例を記載してみます。
// フォームからPOSTで「input[name='qiita']」が送信されたとき
echo $_POST['qiita'] // 'POSTの値です'
まとめ
変数名や変数のスコープを考えずに書くとバグの元になるので、プログラムを書くときは上記を参考に書いてみて下さい。
↧