PHP のデータ型
1. PHPのデータ型(Data Types)
バリアブル(Variables / 変数)には、さまざまな種類のデータを格納でき、それぞれのデータ型によって実行できる処理が異なります。
PHPは以下のデータ型をサポートしています:
- string(ストリング / 文字列)
- int(イント / 整数)
- float(フロート / 浮動小数点数)
- bool(ブール / 論理値)
- array(アレイ / 配列)
- object(オブジェクト)
- null(ヌル)
- resource(リソース)
2. var_dump() を使用したデータ型の取得
バリアブルのデータ型と値を確認するには、var_dump() ファンクション(Function)を使用します。
2.1 使用例
var_dump() ファンクションは、データ型と値をセットで出力します。
$x = 5;
var_dump($x); // 結果: int(5)3. PHPの String 型
ストリング(String)は、「ハロー・ワールド!」のような一連の文字の並びです。
3.1 使用例
$x = 'ハロー・ワールド!';
var_dump($x);4. PHPの Int 型
イント(Integer / 整数)データ型は、-2,147,483,648 から 2,147,483,647 の範囲内の、小数を含まない数値です。
整数のルール:
- 少なくとも1つの数字が必要です。
- 小数点を含んではいけません。
- 正の数、または負の数のどちらでも可能です。
- 10進数(base 10)、16進数(base 16)、8進数(base 8)、または2進数(base 2)の表記法で指定できます。
4.1 使用例
$x = 5985;
var_dump($x);5. PHPの Float 型
フロート(Float / 浮動小数点数)は、小数点を持つ数値、または指数形式の数値です。
5.1 使用例
$x = 10.365;
var_dump($x);6. PHPの Bool 型
ブール(Boolean)データ型は、TRUE(真)または FALSE(偽)の2つの可能な状態を表します。
6.1 使用例
$x = true;
var_dump($x);ブール型は、条件分岐(Conditional testing)で頻繁に使用されます。詳細は後述の「PHP If...Else」のセクションで学習します。
7. PHPの Array 型
アレイ(Array / 配列)データ型は、1つのバリアブルに複数の値を格納します。
7.1 使用例
以下の例では $cars がアレイです。
$cars = array("ボルボ", "BMW", "トヨタ");
var_dump($cars);8. PHPの Object 型
オブジェクト(Object)データ型は、プログラマーが定義したクラス(Class)のインスタンス(Instance)を保持します。
8.1 使用例
$myCar のデータ型を確認してみましょう:
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "私の車は " . $this->color . " の " . $this->model . " です!";
}
}
$myCar = new Car("赤", "ボルボ");
var_dump($myCar);※現時点でオブジェクトの構文が理解できなくても心配いりません。詳細は「PHP Classes/Objects」のセクションで詳しく解説します。
9. PHPの NULL 型
ヌル(Null)は、NULL という1つの値しか持てない特別なデータ型です。
データ型が NULL のバリアブルは、値が割り当てられていない空のバリアブルであることを意味します。
ヒント: 値を指定せずにバリアブルを作成した場合、自動的に NULL が割り当てられます。また、値を NULL に設定することで、バリアブルを空にすることもできます。
9.1 使用例
$x = "ハロー・ワールド!";
$x = null;
var_dump($x);10. データ型の変更とキャスト
数値(Integer)をバリアブルに代入すると、そのデータ型は自動的に整数になります。同じバリアブルに文字列(String)を代入すると、データ型は文字列に変わります。
10.1 動的な型変更の例
$x = 5;
var_dump($x); // int(5)
$x = "こんにちは";
var_dump($x); // string(15) "こんにちは"既存のバリアブルの値を変更せずに、データ型だけを変更したい場合は、キャスト(Casting)を使用します。
10.2 キャストによる型変換
$x = 5;
$x = (string) $x; // 整数を文字列にキャスト
var_dump($x);11. PHPの Resource 型
特殊なリソース(Resource)データ型は、厳密にはデータ型ではありません。これはデータベース接続やファイルハンドラなどの、外部リソースへの参照を保持するものです。
リソース型はアドバンスド(上級者向け)なトピックであるため、ここでは詳細な説明は省略します。