PHP文法の基礎マスター データ表現-変数・連想配列・定数-

PHP

変数名のルール

PHPでは、変数名を付ける際に次のようなルールがあります。

変数名のルール
  • 変数名の先頭には、ドル記号($)を付ける
  • 英字(アンダースコア「_」を含む)又は数字でつくる
  • ドル記号のあとの先頭文字は、英字のみ可能である
  • 大文字と小文字は異なるものとして扱う
  • $thisは、予約語のため使用できない

変数の型

PHPの変数の型は、プログラム上で自動推論されるため、宣言する必要はありません。

変数の型の種類には、次のようなものがあります。

型名説明
論理型(boolean)TRUE(1)、または、FALSE(0)の2値を表す
整数型(integer)正、または、負の整数値を表す
浮動小数点型(float)浮動小数点数値を表す
文字列型(string)文字列を表す(長さに制限はない)
配列(array)変数を複数個の要素で管理する
オブジェクト(object)オブジェクトの初期化時に使用する
リソース(resource)外部のリソースへのリファレンスを保持する  
ヌル(NULL)値を持たない

変数のスコープ

変数のスコープとは、定義した変数が使用できる範囲のことをいいます。

変数のスコープには、局所変数、グローバル変数、静的変数があります。

局所変数

関数内で定義した変数で定義した関数内でのみ存在する変数になります。

関数内で定義してから関数の処理終了で消滅します。

グローバル変数

関数の外部で定義した変数で、複数の関数間で使用できる変数になります。

使用時に変数の前にgolbalをつけることで定義します。

静的変数

関数内で変数名の前にstaticを付加して宣言する変数です。

静的変数は、宣言した関数内で永続的に使用できるようになります。

局所変数とは違い、関数の処理終了でも割り当てられたメモリ領域が解放されず、値を保持し続けることができます。

スーパーグローバル

PHPプログラムでは、グローバル変数として次の変数があらかじめ定義されています。

これらのグローバル変数をスーパーグローバルと呼びます。

定数名説明
$GLOBALSグローバル変数を表す
$_SERVERサーバ変数を表す
$_ENV環境変数を表す
$_COOKIEHTTPクッキーを表す 
$_GETHTTP GET変数を表す
$_POSTHTTP POST変数を表す
$_FILESHTTPファイルアップロード変数を表す   
$_REQUESTリクエスト変数を表す
$_SESSIONセッション変数を表す

変数の書き方

変数は次のような記述で使用します。PHPの場合は、自動推論によって型が割り当てられるので、変数に値が代入されることにより変数の型が決まります。

$変数名 =  ;

宣言文の一番最後には、セミコロン「;」を付けます。これにより一文が完結します。

変数の書き方の例

$data = 123;

$str = “Hello World”;

$time = array(“時”,”分”,”秒”);

arrayは、配列を作成するときに使用します。上の例では、$time[0]=”時”,$time[1]=”分”,$time[2]=”秒”が代入されます。

連想配列

連想配列は、任意の名前のキーを使ってデータを保存する配列です。

記述方法は、いくつかあります。

連想配列の例(書き方その1)

$member[“num”] = 1;

$member[“city”] = “Tokyo”;

連想配列の例(書き方その2)

$member = array(

“num” => 1,

“city” => “Tokyo”

);

連想配列の例(短縮形)

$member = [

“num” => 1,

“city” => “Tokyo”

];

二次元配列とする場合は、次のように記述します。

連想配列の例(短縮形)

$member[] = array(

“num” => 1,

“city” => “Tokyo”

);

定数

定数とは、プログラムの実行前から値が決まっていて、プログラム実行中にその値が変わらないときに使用するデータです。PHPには、次の定数が定義されています。

定数名説明
PHP_VERSIONPHPのバージョンを表す
PHP_OSPHPが稼働中のOSを表す
__LINE__処理中の行番号を表す
__FILE__処理中PHPファイルのフルパスとファイル名を表す 
__DIR__処理中ファイルのあるディレクトリ名を表す
__FUNCTION__関数名を表す
__CLASS__クラス名を表す  
__TRAIT__トレイト名を表す
__METHOD__クラスのメソッド名を表す
__NAMESPACE__名前空間の名称を表す
true真を表す
false偽を表す
null値なしを表す

記号定数

記号定数とは、プログラム中の数値(マジックナンバー)や文字列を記号名に置き換えることで、独自の定数を作成できるものです。

記号定数は次のように書きます。

define(“作成する定数名” , 定義する値);

記号定数の定義例

define(“HW” , “Hello World!”);

この例では、プログラム中で「HW」と記述すると、その箇所は、すべて文字列「Hello World!」に置き換わります。

コメント

タイトルとURLをコピーしました