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


以上