第2章 2.2. 変数とデータ型
PHPでは、変数はデータを保持し、その値を操作するために使用されます。変数は動的に型付けされ、さまざまなデータ型を扱うことができます。このセクションでは、変数の定義、データ型、変数のスコープとライフタイムについて詳しく説明します。
2.2.1. 変数の定義と使い方
PHPでは、変数はドル記号 ($
) を使って定義します。変数名は文字やアンダースコアで始まり、数字を含むことができますが、数字で始めることはできません。
1. 変数の定義
-
変数を定義するには、次のようにします:
<?php $variableName = "Hello, World!"; $number = 42; $pi = 3.14; ?>
-
ルール:
- 変数名は大文字と小文字を区別します。
- 変数は、初期化された時点でそのデータ型が決まります。
2. 変数の使用
-
変数の値を出力するには
echo
を使用します:<?php $greeting = "Hello, World!"; echo $greeting; ?>
このコードは「Hello, World!」を表示します。
2.2.2. データ型(文字列、整数、浮動小数点、配列、オブジェクト、NULL、リソース)
PHPは動的型付け言語であり、変数にさまざまなデータ型を保持できます。ここでは、代表的なデータ型を紹介します。
1. 文字列 (String)
-
文字列は、ダブルクォートまたはシングルクォートで囲まれたテキストです。
<?php $string = "This is a string."; echo $string; ?>
2. 整数 (Integer)
-
整数は、小数点を持たない正の数または負の数です。
<?php $int = 42; ?>
3. 浮動小数点数 (Float)
-
浮動小数点数は、小数点を持つ数値です。
<?php $float = 3.14159; ?>
4. 配列 (Array)
- 配列は、複数の値を一つの変数に格納するために使用します。PHPでは、インデックス付き配列と連想配列があります。
-
インデックス付き配列:
<?php $array = array(1, 2, 3, 4); echo $array[0]; // 出力: 1 ?>
-
連想配列:
<?php $assocArray = array("name" => "John", "age" => 30); echo $assocArray["name"]; // 出力: John ?>
-
5. オブジェクト (Object)
-
オブジェクトは、クラスのインスタンスであり、複数のプロパティやメソッドを持つことができます。
<?php class Person { public $name; public $age; public function sayHello() { return "Hello, my name is " . $this->name; } } $person = new Person(); $person->name = "John"; $person->age = 30; echo $person->sayHello(); // 出力: Hello, my name is John ?>
6. NULL
-
NULL
は変数に値がないことを表します。<?php $var = NULL; ?>
7. リソース (Resource)
- リソースは、ファイルハンドルやデータベース接続といった外部リソースへの参照を表します。具体的には、関数の結果としてリソース型のデータが返されます。
2.2.3. 変数のスコープとライフタイム
変数のスコープとは、その変数がアクセス可能な範囲を指します。PHPには、以下のスコープが存在します。
1. ローカル変数
-
関数やブロックの中で定義された変数は、その関数やブロック内でのみアクセス可能です。
<?php function myFunction() { $localVar = "I am local"; echo $localVar; } myFunction(); // 出力: I am local // echo $localVar; // エラー: 変数が未定義 ?>
2. グローバル変数
-
グローバルスコープで定義された変数は、関数の外からアクセスできますが、関数内から直接アクセスすることはできません。関数内でグローバル変数にアクセスするには、
global
キーワードを使用します。<?php $globalVar = "I am global"; function myFunction() { global $globalVar; echo $globalVar; } myFunction(); // 出力: I am global ?>
3. スーパーグローバル変数
- PHPには、常にグローバルスコープでアクセス可能なスーパーグローバル変数があります。例として、
$_GET
、$_POST
、$_SERVER
などが含まれます。
4. 静的変数 (static)
-
関数内で定義された変数に対して
static
キーワードを使用すると、その変数の値は関数が終了しても保持され、次回関数が呼び出された際にその値が使用されます。<?php function increment() { static $count = 0; $count++; echo $count; } increment(); // 出力: 1 increment(); // 出力: 2 increment(); // 出力: 3 ?>
次のページへ
第2章 2.3. 定数
前のページへ
第2章 2.1. 基本的な構文
トップページへ
PHP参考書: はじめてのPHPプログラミング