今回は前回少し出てきたPHPのデータ型について勉強してみました。
PHP8種類のデータ型が存在します。
| 整数 | integer |
| 浮動小数点数 | float |
| 文字列 | string |
| 論理値 | boolean |
| 配列 | array |
| オブジェクト | object |
| NULL | null |
| RESOURCE | resource |
上の4つがスカラー型、真ん中の2つが複合型、下の2つが特別型となっています。
PHPにおいてはほとんどの場合、型の変換は自動で行われます。
明示的に行いたい場合には
$foo = (int)$bar;
といった書き方になります。
型のキャスト
| (bool) | 論理値 |
| (boolean) | 論理値 |
| (int) | 整数 |
| (integer) | 整数 |
| (float) | 浮動小数点 |
| (double) | 浮動小数点 |
| (real) | 浮動小数点 |
| (string) | 文字列 |
| (array) | 配列 |
| (object) | オブジェクト |
| (unset) | NULL |
これはPHPマニュアルでは
bool is_int ( mixed $var )
のように定義されています。
上の事を踏まえて次のようなコードを書いてみました。
<?php $a = 4; $b = '3'; echo is_int($a)."<br>"; echo is_int($b)."<br>"; echo is_string($a)."<br>"; echo is_string($b)."<br>"; var_dump($a); echo "<br>"; var_dump($b); echo "<br>"; echo gettype($a)."<br>"; echo gettype($b)."<br>"; //型が違うけどあえて変換してみる。 $c = $a + $b; echo $c."<br>"; var_dump($c); ?>
実行結果
1 1 int(4) string(1) "3" integer string 7 int(7)
型名の取得にgettypeというものがあるようですが、こちらは使用すべきでないと言われています。
以上