カテゴリ: PHP 更新日: 2026/01/09

PHPのデータ型チェックをやさしく解説!初心者でもわかるgettypeとis_*関数の使い方

PHP のデータ型チェック(gettype, is_* 関数)
PHP のデータ型チェック(gettype, is_* 関数)

先生と生徒の会話形式で理解しよう

生徒

「PHPで変数の中身がどんな種類のデータか調べる方法ってありますか?」

先生

「はい、PHPではgettype関数やis_で始まる関数を使って、変数のデータ型をチェックできますよ。」

生徒

「データ型って、そもそも何ですか?」

先生

「とても良い質問ですね。それではまず、データ型とは何かをわかりやすく説明してから、実際の使い方を見ていきましょう。」

-

1. データ型とは何か?

1. データ型とは何か?
1. データ型とは何か?

プログラミングでは、変数(へんすう)の中に入っているデータの種類のことをデータ型(けい)と呼びます。

例えば、以下のような違いがあります:

  • 数字(数値型):100、3.14など
  • 文字(文字列型):"こんにちは"、"abc"など
  • 真偽値(しんぎち):true / false(正しい・間違い)
  • 配列(はいれつ):データの集まり
  • NULL:何も入っていない状態

PHPでは、これらのデータ型をしっかり区別して使うことで、エラーを防いだり、正しい処理を行ったりできます。

2. gettype関数でデータ型を確認する

2. gettype関数でデータ型を確認する
2. gettype関数でデータ型を確認する

gettype(ゲットタイプ)関数は、変数のデータ型を文字で教えてくれる関数です。


$price = 100;
echo gettype($price);

integer

この例では、100という値が整数なので、「integer(整数)」という結果が返ってきます。

他にも、以下のような結果があります:

  • string:文字列
  • boolean:真偽値
  • array:配列
  • NULL:何も入っていない

gettypeは、「中身が何の種類か」を確認したいときにとても便利です。

3. is_〇〇関数で特定の型かチェックする

3. is_〇〇関数で特定の型かチェックする
3. is_〇〇関数で特定の型かチェックする

PHPには、is_ではじまる関数がたくさんあります。これは「この変数は〇〇型ですか?」と確認するための関数です。

たとえば:


$name = "太郎";
if (is_string($name)) {
    echo "これは文字列です。";
}

これは文字列です。

is_〇〇関数の一覧:

  • is_string():文字列か?
  • is_int():整数か?(intは「integer」の略)
  • is_float():小数か?(floatは「ふわっとした数字」の意味)
  • is_bool():true/falseの真偽値か?
  • is_array():配列か?
  • is_null():NULLか?

これらを使うことで、変数の「型」を調べて、その型に応じた処理を安全に行うことができます。

4. 複数の型チェックを使い分ける方法

4. 複数の型チェックを使い分ける方法
4. 複数の型チェックを使い分ける方法

現実のプログラムでは、いろいろな種類のデータが混ざっていることがあります。そんなときは、型チェックで正しく判定するのが重要です。

たとえば、入力された年齢が整数かどうか確認したい場合:


$age = "20";
if (is_int($age)) {
    echo "年齢は整数です。";
} else {
    echo "文字列として扱われています。";
}

文字列として扱われています。

このように、20でも「クオーテーション(")で囲っている」場合は、文字列と判定されます。

ユーザーの入力値はたいてい文字列なので、is_numeric()という「数字っぽいかどうか」を判定する関数もあります。


if (is_numeric($age)) {
    echo "これは数字です。";
}

これは数字です。
-

5. 配列のチェックとis_arrayの使い方

5. 配列のチェックとis_arrayの使い方
5. 配列のチェックとis_arrayの使い方

PHPで配列(データの集まり)を扱うときは、is_array()を使って「本当に配列か?」を確認できます。


$list = ["りんご", "バナナ", "みかん"];
if (is_array($list)) {
    echo "これは配列です。";
}

これは配列です。

逆に、ただの文字列や数値だとis_array()はfalseになります。

6. データ型チェックを使う場面とは?

6. データ型チェックを使う場面とは?
6. データ型チェックを使う場面とは?

PHPのデータ型チェックは、次のような場面でよく使われます:

  • ユーザーが入力した内容が正しいかどうかを確認する
  • 関数に渡す値の種類を確認してエラーを防ぐ
  • 配列だけを処理対象にしたいとき
  • NULLやfalseが混ざっていないかチェックしたいとき

型を意識してプログラムを書くと、バグ(不具合)を防ぐことができ、より安全なコードになります。

7. gettypeとis_関数の使い分け

7. gettypeとis_関数の使い分け
7. gettypeとis_関数の使い分け

gettype()は、「型の名前を文字列で知りたい」ときに使います。

is_〇〇()は、「この変数は〇〇型か?」と判定するために使います。

たとえば、エラーメッセージを出すときはgettype()、条件分岐ではis_を使う、という使い分けがおすすめです。


$value = true;
echo "この変数の型は:" . gettype($value);
if (is_bool($value)) {
    echo " ←これは真偽値です。";
}

この変数の型は:boolean ←これは真偽値です。

まとめ

まとめ
まとめ

PHPで扱うさまざまなデータ型について、じっくり振り返っていきましょう。今回の記事では、データ型の基本から始まり、gettype関数でデータ型を文字として取得する方法、is_ではじまる関数で具体的な型を判定する方法、さらには複数の条件判断が絡む実践的な場面での型チェックの使い方まで、幅広く学びました。とくに、PHPではユーザーが入力した値が文字列として受け取られることが多いため、「数字のように見える文字列」や「空の値」をどのように扱うかが重要になります。こうした場面では、is_numericやis_nullのような関数がとても役に立ち、実際の開発では欠かせない存在です。 また、配列の扱いもPHPでは頻繁に発生します。配列を前提とした処理を実行するときに、is_arrayで事前にチェックしておくことで、予期せぬエラーを未然に防げます。データ型の違いを理解し、それに応じて最適な関数で状況を確認することは、プログラムの品質を高めるための大切な一歩です。型の判定は単純なようで実は奥が深く、値の性質や入力の種類に応じた柔軟な対応が求められます。 実際のプログラミングでは、「どの型で来るかわからない値」を扱う機会が多くあります。たとえば、フォームの入力、セッション値、外部APIのレスポンスなどは、文字列・数値・配列などが混ざっていることも珍しくありません。こうしたときに型チェックを正しく行うことで、コードが予期しない動作をすることを防げますし、問題が起きても原因の切り分けがしやすくなります。型を理解することは、コードの読みやすさや保守性にも大きく影響します。 さらに、PHPの便利な点として、さまざまなis_関数が標準で用意されていることが挙げられます。is_string、is_int、is_bool、is_float、is_array、is_nullなどの基本的な関数に加えて、is_scalarやis_callableなど、より高度な判定ができる関数も存在します。これらを知ることで、より柔軟で安全な条件分岐を書くことができ、プログラムの処理がスムーズになります。プログラミング初心者のうちは、「どの型が来ても困らないコード」を書く意識を自然に身につけることが大切です。 また、gettypeとis_関数は用途が異なるため、適切に使い分けることもポイントです。gettypeは型の名前をそのまま文字列で返してくれるため、デバッグやログ出力に向いています。一方で、条件式や分岐処理ではis_関数のほうが扱いやすく、コードの意図も読み取りやすくなります。このように、それぞれの特性を理解し、状況に応じて選択して使いこなすことが、PHPを使った開発では大きな武器になります。 最後に、サンプルプログラムとして、複数のデータ型をまとめてチェックするミニスクリプトを書いてみます。実践的な場面でも役立つ内容ですので、自分で手を動かして試してみてください。

サンプルプログラム:複数の型を順番にチェックする例


$items = [100, "100", true, ["赤", "青"], null];

foreach ($items as $value) {
    echo "型は:" . gettype($value) . " ";
    if (is_int($value)) {
        echo "整数として扱えます。";
    } elseif (is_string($value)) {
        echo "文字列として扱われています。";
    } elseif (is_bool($value)) {
        echo "これは真偽値です。";
    } elseif (is_array($value)) {
        echo "配列なのでループで処理できます。";
    } elseif (is_null($value)) {
        echo "NULLなので値はありません。";
    }
    echo "\n";
}
先生と生徒の振り返り会話

生徒

「今日の記事で、PHPのデータ型っていろいろあるんだなって実感しました。数字のようでも文字列だったり、NULLだったり、ちゃんと見分けるのが大事なんですね。」

先生

「その通りです。型をあいまいに扱うと、思わぬバグにつながるので、gettypeやis_関数を使ってしっかり確認する習慣をつけましょう。」

生徒

「is_numericみたいに数字っぽいかどうかも調べられるのが便利ですね。フォームの入力チェックにも使えそうです。」

先生

「ええ、実際の開発では入力されたデータを安全に扱うために、型チェックは欠かせません。データの種類をちゃんと理解しておくと、条件分岐の読み書きもずっと楽になりますよ。」

生徒

「たしかに、型によって処理が変わるっていう考え方が、ようやくつかめてきた気がします!」

先生

「その調子です。次のステップでは、型を意識した関数の作り方や、より複雑なデータ構造にも挑戦していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PHPのデータ型とは何ですか?具体例を交えて知りたいです。

PHPのデータ型とは、変数に入るデータの種類を指します。数値、文字列、真偽値、配列、NULLなどがあり、それぞれに特性があります。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.3
Java&Spring記事人気No3
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
-
-