今回は前回少し出てきた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というものがあるようですが、こちらは使用すべきでないと言われています。
以上