データ型
データ型とは
プログラムの変数では、「Apple」は「文字列」、「300」は「数値」として認識され、このようなデータの種類をデータ型といいます。 データ型を調べるには var_dump() などのデバッグ関数を利用します。
代表的なデータ型
PHPで利用される代表的なデータ型です。
データ型 | メモ | |
---|---|---|
string | 文字列 | 東京 |
int | 整数 | 30 |
float | 浮動小数点 | 0.52 |
double | 倍精度浮動小数点 | 10.3215 |
boolean | 論理型 | true / false |
文字列型(string)
「東京」「<br>」 のような文字列は、「 " 」または、「 ' 」で値を囲みます。
$city = '東京';
var_dump($city);
結果
文字列「東京」の他に、データ型「string」、バイト数「6」が表示されました。
string(6) "東京"
- データ:東京
- データ型: string(文字列型)
- バイト数: 6バイト
整数型(int)
int は整数の値です。
$price = 120;
var_dump($price);
結果
int(120)
- データ:120
- データ型: int(整数型)
浮動小数点数型(float)
float は小数の値です。
$average = 0.333;
var_dump($average);
結果
float(0.333)
- データ:120
- データ型: float(浮動小数点型)
論理型(boolean)
論理型は真(true) か偽(false) のデータ型で、条件分岐や処理結果が正しいか判定するために多く利用します。
// $is_win に true を代入
$is_win = true;
var_dump($is_win);
結果
bool(true)
NULL
NULLの概念は難しいですが、プログラムで何か定義したが何も中身がない状態のことをいいます。PHPではnullというデータを代入することができます。
$character = null;
var_dump($character);
結果
NULL
その他の型
配列型(array)
arrayは配列というデータ形式で、複数のデータを 1つの変数にまとめて入れるときに利用します。配列に関しては別の章で説明しますが [ ] と ,(カンマ) でデータ定義します。
$years = [2020, 2019, 2018, 2017];
$drinks = ['コーヒー', '紅茶', 'ほうじ茶'];
var_dump($years);
var_dump($drinks);
結果
array(配列)のデータ型になっています。
array(4) {
[0]=>
int(2020)
[1]=>
int(2019)
[2]=>
int(2018)
[3]=>
int(2017)
}
array(3) {
[0]=>
string(12) "コーヒー"
[1]=>
string(6) "紅茶"
[2]=>
string(12) "ほうじ茶"
}
連想配列型
連想配列は、配列のインデックスを文字列などの「キー」にした作成したもので、キーと値の間は => で記述します。連想配列に関しては別の章で説明します
$character = [
"name" => "ヒーロー",
"job" => "勇者",
"hp" => 50,
];
結果
これもarray(配列)のデータ型になっています。
array(3) {
["name"]=>
string(12) "ヒーロー"
["job"]=>
string(6) "勇者"
["hp"]=>
int(50)
}
オブジェクト型
オブジェクトの持つ変数のことを、プロパティ、オブジェクトの持つ関数のことをメソッドと呼びます。 PHP のオブジェクト型は、主にクラスという概念を用いて利用します。
$monster = new stdClass;
var_dump($monster);
結果
object(stdClass)#1
callable型
関数を変数として扱うことができますが、それを コールバック関数といいます。 PHPでもコールバック関数を callable型 の変数として格納できます。
$callback = function($a, $b) {
return $a + $b;
};
$result = call_user_func($callback, 1, 2);
echo $result.PHP_EOL;
結果
3
型の自動変換
PHPの特徴として数値や文字など異なるデータ型で演算したとき、自動的に型を変換してくれる機能があります。以下の例では、整数値と浮動小数値を計算することができます。(Java のような言語ではエラーになります)
整数型と浮動小数点型の計算
整数型 intと、浮動小数点型 floatのデータを計算してみます。
$price = 1000;
$tax = 0.1;
var_dump($price * $tax);
結果
float型で表示されました。
float(100)