課題パート1 PHPの型定義
スクールでの課題をやっていて引っかかったところを書いていきます。
そのパート1ということで、PHPの型定義について書いていきたいかと思います。
型とは、コンピュータ上でのデータ(いわゆる値のこと)の型(タイプ)のことです。
そのデータ型をPHPでは宣言(決めてあげること)しなくても勝手に判断してくれるんですね。
例えば
<?php
$a = 2.5;
$b = 3;
echo $a*$b;
といったコードを書いたとします。
この出力結果は、7.5となります。
もし、ここで出力結果を整数にしたい場合があるとします。
そこでデータ型を決めてあげることで7.5を整数にすることができます。
型定義の仕方は、変数の前に(型名)を付けてあげるだけです。
変数$aを整数型にしたい場合は
(int)$a
とすればいいです。
では上記のコードではどうなるかというと
<?php
$a = 2.5;
$b = 3;
echo (int)($a*$b);
となり、ここで (int)$a*$b と書いてしまうと、$aが整数型と定義されてしまうので注意してください。
型を決めることをキャストすると言います。
以下、よく使われる型キャストです。
- (int), (integer) - 整数へのキャスト
- (bool), (boolean) - 論理値へのキャスト
- (float), (double), (real) - float へのキャスト
- (string) - 文字列へのキャスト
- (array) - 配列へのキャスト
- (object) - オブジェクトへのキャスト
PHP以外の言語、例えばJava言語では最初にその変数を定義してあげないといけないのです、めんどくさいですね。
・・・・・そうです、そのめんどくさいと思うことがもっとめんどくさくなってしまう原因になるわけです。
他の言語では定義を最初にするため、型を頭でわかった上でコードを書いていくため問題など起きた時にわかりやすい場合が多いです。
PHPだとコンピュータが勝手に型を判断するため、コードをスラスラ書いていける反面、特に初心者は頭にあまり型など意識しないで書いてしまうこと多々あります。
まあその分、初めての言語としてPHPは取っ付き易く勉強も進めやすいのだと思います。
ただ、その裏には他言語とのギャップがあることをわかった上で勉強していかないといけないですね。
ババールでした。