PHPでは変数を型キャストすると、整数を浮動小数点数に、浮動小数点数から整数へと型を指定し、置き換えることができます。その場合キャストをする変数の前に、置き換える型を括弧で括ります。
また、浮動小数点数から整数へ型キャストした時はその数はゼロに丸めこまれます。
| 整数 | int、integer |
|---|---|
| 論理値 | bool、boolean |
| 浮動小数点数 | float、double、real |
| 文字列 | string |
| 配列 | array |
| オブジェクト | object |
<?php
$z = 1.23456;
$z = (int) $z;
echo $z;
?>
1
小数点以下が切り捨てられ、1となっていることがわかります。
<?php
$z = 1.23456;
$z = (string) $z;
echo $z;
?>
表示的には数値に見えますが、stringの型を使用していますので、これは概念的には文字列となっています。
わかりやすくするため、var_dump();をしてみます。
<?php
$z = 1.23456;
$z = (string) $z;
var_dump($z);
echo $z;
?>
上記スクリプトで「var_dump($z);」とすることで、変数$zがどういう状態なのかがわかります。
string(7) "1.23456" 1.23456
「string(7) "1.23456"」の「string(7)」で文字列と認識されているのがわかります。「(7)」は小数点を含めた数を意味しています。