PHP変数の使い方

php変数使い方 PHP

プログラミング初心向けにPHP変数の使い方について解説する
基礎的なところから紹介する。

変数とは

PHPプログラムを書くとき、様々なデータを使います。
データの保存と取得にはデータのアドレスがが必要となります。
変数はデータのアドレスです。

変数定義のルール

変数名を付ける際、次のようなルールがあります。
・必ず$から始まる、$以降の文字は変数名
・変数名は一つ目の文字はアルファベット、_(アンダースコア)
・変数名は一つ目の文字は数字を使えない($name111 〇,$111name ×)
・変数名は使えるのは半角英数字(A-z、0-9)、_(アンダースコア)
・変数名は大文字小文字が区別される

変数の使い

PHPでは変数を定義するコマンドが存在しません。
変数に値を代入するとき、変数を定義される。
使用例:

<?php
  $outMsg=”Hello World!”; # 変数を定義
  echo $outMsg;           # 変数の値を出力
?>
※echoは一つ以上の文字列を出力する。
※echoは関数ではないので、引数の文字列を括弧で囲む必要はありません。
結果は「Hello World!」を出力する。

変数のスコープ

変数はスクリプトの任意のところで定義できます。
変数のスコープは変数を使える範囲です。

ローカルスコープとグローバルスコープ

関数の外部で定義した変数はグローバルスコープ変数です。
グローバルスコープ変数の場合、関数の外部で使える。
関数の内部で定義した変数はローカルスコープ変数です。
ローカルスコープ変数の場合、関数の内部で使える。
使用例:

<?php
  $x=5;  //グローバルスコープ変数
  function myTest() {
    $y=10; //ローカルスコープ変数
 echo “<p>関数内部の変数:</p>”;
    echo “変数xの値: $x”;
 echo “<br>”;    //改行コードを出力する
 echo “変数yの値: $y”;
  }
 
  myTest();
 
  echo “<p>関数外部の変数:</p>”;
  echo “変数xの値: $x”;
  echo “<br>”;    //改行コードを出力する
  echo “変数yの値: $y”;
?>

結果:

変数のスコープ

解析:
変数$x,$y,関数myTest()について、説明します。
$xは関数の外部で定義したため、グローバルスコープ変数となり、関数内部でアクセスする場合、エラーとなります。
$yは関数の内部で定義したため、ローカルスコープ変数となり、関数の外部でアクセスする場合、エラーとなります。

globalキーワード

変数を定義する前、globalキーワードを指定すると、関数内部でグローバルスコープ変数をアクセスできる。
使用例:

<?php
  $x=5;
  $y=10;
  function myTest() {
    global $x,$y;   //関数内部でグローバルスコープ変数をアクセスするため、globalキーワードを指定する
 $y=$x+$y;
  }
  myTest();
  echo $y;
?>

globalキーワードを指定しないで関数内部でグローバルスコープ変数をアクセスする方法もあります。
PHPではグローバルスコープ変数を保存する配列「$GLOBALS[index]」があります。
使用例:

<?php
  $x=5;
  $y=10;
  function myTest() {
    $GLOBALS[‘y’]=$GLOBALS[‘x’]+$GLOBALS[‘y’];
  }
  myTest();
  echo $y;  # 15を出力する
?>

staticキーワード

関数の実行が完了したら、関数内部の変数が削除される。
しかし、関数内部の変数を削除したくない場合、staticキーワードを使用する。
使用例:

<?php
  function myTest(){
    static $x=0;
 echo $x;
 $x++;
  }
  myTest();
  myTest();
  myTest(); 
?>
タイトルとURLをコピーしました