PHP 型 【初級編 第9回】
型とはなんなのか?
前回までは変数について記載してきました。
今回からは変数の型について記載していきたいと思います。
型の概要
型が必要な理由
型とは変数にセットする値が、整数値なのか、小数値、それとも文字列なのかを指定するものです。
変数には必ず型が付いています。
他の言語などではこの型があることで、想定している型と異なる値が変数に代入されようとすると、エラーなどを起こしてプログラムに知らせてくれます。
しかしPHPでは、型はあらかじめ指定する必要はなく、変数に値を代入した時点でその値に合わせて型が決まります。
つまり以下のように記述すれば型も自動的に決まります。
<?php $hensuu = 100; ?>
この場合 $hensuu は integer という型になったことになります。
型の上書き
また型は、変数の値を数値から文字列に上書きしたりすると、自動的に型も上書きされます。
そのため他の言語のように型を意識することがありません。
<?php $hensuu = 100; $hensuu = "test message"; //ここの時点で型が数値型から文字列型に変換されている。 ?>
ただその変数がどの型なのかによって処理を変えたい場合などがあったりするかもしれませんので、
そのためには型とはどんなものであるかを理解しておく必要があります。
型の変換
settype関数を使用する方法
型を手動で変換したい場合は、settype() を使用すれば変換することができます。
たとえば以下のように整数値を小数値に変換することも可能です。
<?php $num = 5.67; settype($num, "integer"); echo $num; ?>
settype の引数には、(型を変換したい変数名, 変換したい型名) を指定します。
上記の場合ブラウザには小数点以下が省略された 5 が表示されます。
キャストを使用する方法
またその他にもキャストと呼ばれる手法で型を変換する方法があります。
以下の結果は先ほどの integerの記述と同じ意味になります。
<?php $num = 5.67; (integer)$num; echo $num; ?>
型の種類
PHPでは上記で紹介した integer型以外にも以下の種類の型が存在します。
boolean 論理型
integer 整数型
float 浮動小数点型
double 浮動小数点型
string 文字列型
array 配列型
object オブジェクト型
null 真偽型
resource リソース型
今回はここまでで、次回から1つずつ型の詳細について記載していきたいと思います。