PHPで取り扱う値(データ)には、さまざまな種類があります。
PHPの基本として絶対に押さえておきたい部分ではあるのですが、全てのデータ型をしっかりと覚える必要があるかというと、そうでもありません。
本記事では、初心者が最初に覚えておくべきデータ型のみに焦点を絞りました!
意気込まず、気楽に読んでいただければと思います。
サンプルコードの使い方
コード右上のアイコンをクリックすることでコピーできます。
見出しが「サンプルコード」のコードは、空っぽのphpファイルにコピペするだけで結果を確認することができます!

それでは本文へ、レッツゴー!
そもそもデータ型とは?
データ型とはものすごく端的にいうと、その値(データ)の種類のことです。
日本語の文字で例えるなら、漢字か、カタカナか、ひらがなかといった感じです。
遊戯王で例えるなら、モンスターカードか、魔法カードか、トラップカードかといった感じですね!
常日頃データ型を意識しながらPHPを記述しなければいけないというわけではありません。
何かエラーが発生した際に、データ型が原因だったりするとか、この場合はこのデータ型でなければいけないルールとか、その程度です。
それでは、データ型を見ていきましょう。
覚えておきたいPHPのデータ型
本ブログは初心者へ向けた記事が中心になっているので、必要最低限のデータ型に絞って紹介します。
今後PHPに慣れてきて知らないデータ型が出てきたら、その時に調べればOK
最初から詰め込みすぎるのは、しんどいし混乱しちゃいますからね!
- int型:数字
- string型:文字
- bool型:正しいか正しくないか(真偽値)
- array型:配列
- null型:何もない空っぽの状態
このあたりはよく見かけます。
それぞれのデータ型について紹介する前に、まずはデータ型の確認方法を見ていきましょう。
データ型の確認方法
データ型を確認する方法はとっても簡単です。
var_dump(確認したいデータ)
var_dumpは、データ型を確認するものというよりかは、確認したいデータの、ありとあらゆる情報を出力してくれます。
その出力してくれる情報の中に、データ型も入っています。
int型とstring型
一番馴染みがあるものですね。
int型が数字、string型が文字です。
PHPではお約束として、文字を扱う際は、その文字を”(クォーテーション)で囲む必要があります。
つまり「1」は「数字の1」なのですが、「’1’」は「文字の1」となります。
「で、だから何なの」と言われると、別にそんな重要なことでもありません…。
最も登場するデータ型たちですが、さほど気に留める必要のないデータ型でもあります…。
そ、それでは実際に見てみましょう。
サンプルコード
<?php
$num = 5;
$str = '10';
$str2 = 'こんにちは';
echo '$num:';
var_dump($num);
echo '<br>$str:';
var_dump($str);
echo '<br>$str2:';
var_dump($str2);
?>
これをブラウザで確認すると、以下の結果が得られます。

「int(5)」は、「数字の5ですよ」という意味になります。
「string(2)”10″」は、「2文字の10ですよ」という意味で、()内の数字は文字数を表します。
こんにちはの文字数が15になっていますが、日本語の文字は1文字につき3カウントされるためです。
bool型
これは非常によくお目にかかります。
bool型は、正しいか正しくないか、つまり「true」か「false」のいずれかが入っているデータです。
よくあるbool型としては、等号や不等号を用いした数式が挙げられます。
例えば「1 < 10」はbool型で、値は「true」です。
あとはPHPがあらかじめ用意してくれている「◯◯かどうか」を判別してくれるプロパティも、bool型になります。
if構文を使う際に必ず必要で、条件分岐の要となるデータ型です。
サンプルコード
<?php
$bool = true;
$bool2 = 3 <= 10;
$bool3 = 1 == "1";
$bool4 = 1 === "1";
$bool5 = empty($bool); // empty()は、()内の値が空っぽかどうかを調べるプロパティ
echo '$bool:';
var_dump($bool);
echo '<br>$bool2:';
var_dump($bool2);
echo '<br>$bool3:';
var_dump($bool3);
echo '<br>$bool4:';
var_dump($bool4);
echo '<br>$bool5:';
var_dump($bool5);
?>
ブラウザに出力すると、以下のような結果が得られます。

おやおや?$bool3と$bool4、ちょっと謎めいていますね。
前者はtrueなのに後者はfalse…。
これについては、if構文の記事で紹介しています。
array型
さて、冒頭のデータ型一覧で出てきたarray型、覚えていますか?
正解!
array型は、配列のデータを指します。
「あれ?なんかこのデータうまく出力できてないぞ?」となった時、データ型を調べてみるとarray型だった。
なんてことがよくあります。
配列には配列の出力方法がありますからね。
サンプルコード
<?php
$arr = ['こ','ん', 'に', 'ち', 'は', 1, 2, 3];
echo '$arr:';
var_dump($arr);
?>
出力結果を見てみると、

array(8)となっていますが、この(8)は何でしょうか!
正解!
配列に格納されたデータの数です!
しかもしかも、格納されたそれぞれのデータ情報までしっかり出力してくれています。
すごいですね、var_dumpって。
null型
このデータ型もぜひ押さえておきたいです。
ただ最初のうちはあまり遭遇することはないかと思いますので「ふーん」くらいでOK!
中身が空っぽのデータをnull型といいます。
何かしらのデータを受け取る際、そのデータが適切に受け取られているか確認する際などに登場します。
気をつけたい点としては「空っぽ」が入っているデータはnull型ではないということです。
「ちょっと何言ってるかよくわからない」って感じですよね。
ただ決して哲学的な何かを言っているわけではありません。
サンプルコードで、実際にそれを見てみましょう。
サンプルコード
送った内容がvar_dumpで出力されるショボフォームです。
<form action="">
<input type="text" name="test">
<button type="submit">送信</button>
</form>
<?php
var_dump($_GET['test']);
?>
ではでは、結果を見てみましょう。

しょっぱなからNULLがいますね。
まだ何もデータが送られてきていないためNULLと表示されています。
そして何も入力せずにフォームを送信してみましょう。

結果、中身は空っぽですが、NULLではありませんね。
このように空っぽでも、本当に何も入っていない空っぽなのか、空っぽが入っているのか、微妙な違いが存在します。
最初のうちはあまり気にする必要もありませんが、今後慣れてくるとこの違いが重要になってきます。