【PHP】データ型とは?PHPにはどんなデータ型ある?【キャスト】

しゅーた(@chibasyuta)です!
今回はphpにおける「データ型」についてまとめようと思います!
全てのデータ型をいきなり使いこなさなくても、知っているデータ型を少しずつ増やしていけば、いいんじゃないのかなあ??って思っているので、1つでも今回は持ち帰ってください!
また、この記事で、全てを網羅的には扱っていません。基本的な内容になると思います。気が向けば少しずつ追記します。
ということで、そんな感じで本編へ入ります!

データ型とは?

単純に、データの種類のことを「データ型」と呼びます。
いくつかPHPには用意されているのですね。データ型というものが。
例えば、数字の1と 文字列の”1”は違います。データ型が。
こんな感じです。
PHPは動的型付け言語
プログラミング言語には2種類のタイプがあります。
・静的型付け言語
・動的型付け言語
この2つです。
そして、PHPは「動的型付け言語」に分類されます。
「静的型付け言語」はデータの型をしっかり厳密に定義してデータを扱うのですが、それに対して、
PHPなどの「動的型付け言語」では、データ型を曖昧にしても、予め定められたルールによって、イイ感じに処理されます。
なので、そこまで意識しなくても、データの型の変換が裏側で動くようなイメージです。
まあ、両者、トレードオフで、メリットデメリットがあるのですが、それはこの記事の範囲を逸脱している気も若干するので、一旦スルーで(多分、今度書きます!)
PHPにはどんなデータ型があるの?


まずデータ型を判別するための関数について
gettype();
という、引数にデータを渡すと、そのデータのデータ型が返ってくる、という便利なビルトイン関数がPHPにはあるので、それをご紹介しておきます。
string型
$stringVar = “Hello, PHP!”;
echo gettype($stringVar); //string
string型は文字列を表します。
int型
$intVar = 42;
echo gettype($intVar); // integer
int型は数値を表します。
float型
$floatVar = 3.14;
echo gettype($floatVar); // double
浮動小数点数を表します。
boolean型
$boolVar = true;
echo gettype($boolVar); // boolean
真偽値を表します。
null型
$nullVar = null;
echo gettype($nullVar); // NULL
null 型の値は一つだけです。
大文字小文字を区別しない定数「null」です。
キャストとは?
データ型を変換することを「キャスト」と呼びます。
$var = “42”;
// 文字列を整数に変換
$intVar = (int) $var;
echo gettype($intVar); // integer
こんな感じでキャストすることができます。
左に括弧をつけ、その中にデータ型を書けばOKです。
自動キャスト(暗黙の型変換)
$a = “10”;
$b = 5;
$result = $a + $b; // 文字列 “10” は数値として扱われ、自動で int に変換される
echo $result; // 15
echo gettype($result); // integer
このように文脈に応じて暗黙の型変換が行われるので、PHPは「動的型付け言語」と呼ばれるのですね。

まとめ!
データ型は知れば知るほど楽しいし、PHPの動作が分かってきます。
また、いろいろなビルトイン関数の動きもよく理解できるようになるので、いろいろデータ型について調べてみるといいと思います!
僕もまた今度、時間があれば、データ型についてまた詳しく書きますね!

最後まで読んでくれてありがとうございました!!またね!