カテゴリ: PHP 更新日: 2025/12/23

PHP のデータ型を完全ガイド!初心者でもわかる int, string, float, bool など

PHP のデータ型(int, string, float, bool 型など)
PHP のデータ型(int, string, float, bool 型など)

新人と先輩の会話形式で理解しよう

新人

「PHPで使えるデータ型にはどんな種類がありますか?」

先輩

「PHPには、数値、文字列、真偽値、配列など、いくつかの基本的なデータ型があります。それぞれの使い方を学んでいきましょう!」

-

1. PHP のデータ型とは?

1. PHP のデータ型とは?
1. PHP のデータ型とは?

PHPでは、変数に入れられるデータの種類をデータ型と呼びます。たとえば「数字」「文字」「はい・いいえ」など、扱う内容によって向いている型が変わります。データ型を意識すると、計算ミスや表示の崩れなどのトラブルも減らせます。

代表的なデータ型は次のとおりです。

  • 整数型(int)
  • 浮動小数点型(float)
  • 文字列型(string)
  • 真偽値(bool)
  • 配列(array)
  • NULL型(null)

PHPは動的型付けの言語なので、変数を作るときに「この変数はintです」のように型を宣言しなくてもOKです。代入した値に合わせて、PHPが自動で型を判断してくれます。まずは「入れたものの種類が、そのまま型になる」と覚えると理解しやすいです。

初心者向け:よくあるデータ型の例


<?php
$age = 20;            // int(年齢のような整数)
$name = "さくら";     // string(文字列)
$height = 160.5;      // float(小数を含む数値)
$isMember = true;     // bool(はい/いいえ)

echo $age;
echo $name;
echo $height;
echo $isMember;
?>

この例では、数字を入れたら整数型、文字を入れたら文字列型、true/falseを入れたら真偽値になります。なお、true は画面に出すと 1 のように表示され、false は何も表示されないことが多い点も、最初は「そういうもの」と覚えておくと安心です。

変数の型を確認する(gettype 関数)

「この変数はいま何型なんだろう?」と迷ったときは、gettype関数で調べられます。学習中は特に便利です。


<?php
$number = 10;         // 整数型(int)
$text = "こんにちは";  // 文字列型(string)
$price = 99.99;       // 浮動小数点型(float)
$isAvailable = true;  // 真偽値(bool)

echo gettype($number);      // 出力: integer
echo gettype($text);        // 出力: string
echo gettype($price);       // 出力: double
echo gettype($isAvailable); // 出力: boolean
?>

このように、PHPのgettypeを使うと、変数のデータ型を確認できます。表示される文字(integer/string/double/boolean)は、PHPが内部的に使っている型名です。まずは「数値ならintegerやdouble、文字ならstring」という感覚で押さえておけば十分です。

2. 数値型(整数型 int と浮動小数点型 float)

2. 数値型(整数型 int と浮動小数点型 float)
2. 数値型(整数型 int と浮動小数点型 float)

PHPでは、数値データを扱うために整数型(int)浮動小数点型(float)の2種類があります。

整数型(int)

整数型(int)は、小数点を含まない数値を表します。たとえば、年齢やカウントなどを整数型で扱うことができます。


<?php
$age = 25; // 整数型(int)
$score = -10; // 負の整数
echo $age; // 出力: 25
echo $score; // 出力: -10
?>

浮動小数点型(float)

浮動小数点型(float)は、小数点を含む数値を扱うための型です。価格や計算結果など、小数を扱いたいときに使います。


<?php
$price = 99.99; // 浮動小数点型(float)
$rate = 0.75; // 0.75もfloat
echo $price; // 出力: 99.99
echo $rate; // 出力: 0.75
?>

整数型と浮動小数点型は、自動的に相互変換されることがあります。


<?php
$total = 10 + 2.5;
echo $total; // 出力: 12.5 (int + float の結果は float)
?>

3. 文字列型(string)の基本

3. 文字列型(string)の基本
3. 文字列型(string)の基本

文字列型(string)は、テキストデータを扱うためのデータ型です。文字列はダブルクォート(")またはシングルクォート(')で囲んで指定します。

文字列の基本


<?php
$name = "山田太郎"; // ダブルクォート
$greeting = 'こんにちは'; // シングルクォート

echo $name; // 出力: 山田太郎
echo $greeting; // 出力: こんにちは
?>

変数の埋め込み(ダブルクォート vs シングルクォート)

ダブルクォートでは、文字列の中で変数をそのまま使うことができますが、シングルクォートでは変数の展開が行われません。


<?php
$name = "太郎";

// ダブルクォートでは変数が展開される
echo "こんにちは、$name さん!"; // 出力: こんにちは、太郎 さん!

// シングルクォートでは変数は展開されない
echo 'こんにちは、$name さん!'; // 出力: こんにちは、$name さん!
?>

また、文字列を結合する場合は、ピリオド(.)を使います。


<?php
$first = "こんにちは、";
$second = "PHP!";
$message = $first . $second;
echo $message; // 出力: こんにちは、PHP!
?>

文字列の長さを調べる

文字列の長さを取得するには、strlen関数を使います。ただし、日本語のようなマルチバイト文字はバイト数としてカウントされるため、mb_strlenを使うのが一般的です。


<?php
$text = "PHPの文字列";
echo strlen($text); // 出力: 12(バイト数)
echo mb_strlen($text, "UTF-8"); // 出力: 6(文字数)
?>

このように、日本語を扱う場合はmb_strlenを使うと正しく文字数を取得できます。

4. 論理型(bool)の使い方

4. 論理型(bool)の使い方
4. 論理型(bool)の使い方

PHPでは、真偽値(boolean, 略して bool)を使って「真(true)」または「偽(false)」の値を表します。主に条件分岐や比較の結果を扱うときに使います。

論理型の基本

PHPでは、true は「真」、false は「偽」を意味します。


<?php
$isLogin = true; // ユーザーがログインしているか
$isAdmin = false; // 管理者権限があるか

echo $isLogin; // 出力: 1(trueは1として表示される)
echo $isAdmin; // 出力: (falseは何も表示されない)
?>

論理型の比較

論理型は、条件分岐(if文など)でよく使われます。


<?php
$age = 20;
$isAdult = ($age >= 18); // 18歳以上ならtrue

if ($isAdult) {
    echo "大人です。"; // 出力: 大人です。
} else {
    echo "未成年です。";
}
?>

このように、条件の結果を変数に代入し、その変数を使って条件分岐を行うことができます。

-

5. 配列(array)とは?

5. 配列(array)とは?
5. 配列(array)とは?

PHPの配列(array)は、複数の値を1つの変数でまとめて管理するためのデータ型です。例えば、名前のリストや商品の一覧などを扱うときに使います。

配列の基本

配列は [] または array() を使って作成できます。


<?php
// 配列の作成
$fruits = ["りんご", "バナナ", "みかん"];

// 配列の要素を表示
echo $fruits[0]; // 出力: りんご
echo $fruits[1]; // 出力: バナナ
?>

配列のループ処理

配列のすべての要素を順番に処理するには、foreach 文を使います。


<?php
$colors = ["赤", "青", "緑"];

foreach ($colors as $color) {
    echo $color . "<br>"; // 赤 青 緑 を順番に表示
}
?>

連想配列(キーと値)

PHPの配列には、キーと値の組み合わせを持つ連想配列もあります。


<?php
$user = [
    "name" => "田中",
    "age" => 30,
    "email" => "tanaka@example.com"
];

echo $user["name"]; // 出力: 田中
?>

連想配列は、データをわかりやすく管理できるので、フォームデータや設定情報などに便利です。

6. NULL型(null)の意味と使い方

6. NULL型(null)の意味と使い方
6. NULL型(null)の意味と使い方

PHPの NULL型 は、変数に値が設定されていない、またはリセットされた状態を表します。

NULL型の基本

NULL型の変数は、null を代入することで作成できます。


<?php
$name = null;
echo $name; // 出力なし
?>

NULLをチェックする

変数がNULLかどうかを調べるには、is_null 関数を使います。


<?php
$city = null;

if (is_null($city)) {
    echo "都市名が設定されていません。"; // 出力: 都市名が設定されていません。
}
?>

unset関数で変数を削除

変数の値を削除してNULLにするには、unset 関数を使います。


<?php
$score = 100;
unset($score);

if (!isset($score)) {
    echo "変数が削除されました。"; // 出力: 変数が削除されました。
}
?>

このように、unset を使うことで、変数を完全に削除できます。

7. 型の変換(キャストと自動変換)

7. 型の変換(キャストと自動変換)
7. 型の変換(キャストと自動変換)

PHPでは、変数のデータ型を明示的に変換するキャストと、PHPが自動で変換を行う自動型変換があります。

自動型変換とは?

PHPは、必要に応じて自動的にデータ型を変換します。たとえば、整数と文字列を連結すると、整数が文字列に変換されます。


<?php
$number = 100;
$text = "円";
$result = $number . $text; // 100が文字列に変換される
echo $result; // 出力: 100円
?>

明示的な型変換(キャスト)

PHPでは、特定のデータ型に変換する場合、キャスト(型変換)を使用します。


<?php
$floatNumber = 12.34;
$intNumber = (int) $floatNumber; // 小数部分を切り捨てて整数に変換
echo $intNumber; // 出力: 12
?>

キャストの種類

PHPのキャストは、次のように指定できます。

  • (int) または (integer) - 整数に変換
  • (float) または (double) - 浮動小数点に変換
  • (string) - 文字列に変換
  • (bool) または (boolean) - 真偽値に変換
  • (array) - 配列に変換
  • (object) - オブジェクトに変換
  • (unset) - NULL に変換

8. 変数の型を調べる方法(gettype関数、var_dump関数)

8. 変数の型を調べる方法(gettype関数、var_dump関数)
8. 変数の型を調べる方法(gettype関数、var_dump関数)

変数のデータ型を確認するには、PHPにはgettype関数var_dump関数などの便利な関数があります。

gettype関数

gettype関数を使うと、変数のデータ型を文字列で取得できます。


<?php
$val1 = 123;
$val2 = "Hello";
$val3 = 3.14;

echo gettype($val1); // 出力: integer
echo gettype($val2); // 出力: string
echo gettype($val3); // 出力: double
?>

var_dump関数

var_dump関数を使うと、変数の型と値を詳細に表示できます。


<?php
$val = 123.45;
var_dump($val); // 出力: float(123.45)
?>

is_*** 関数で型チェック

PHPには、特定の型かどうかを判定するための関数が用意されています。


<?php
$number = 50;

if (is_int($number)) {
    echo "これは整数です。"; // 出力: これは整数です。
}
?>

主な型チェック関数:

  • is_int() - 整数かどうか
  • is_float() - 浮動小数点数かどうか
  • is_string() - 文字列かどうか
  • is_bool() - 真偽値かどうか
  • is_array() - 配列かどうか
  • is_null() - NULLかどうか

9. PHP のデータ型のまとめ(各データ型の振り返りと使い方のポイント)

9. PHP のデータ型のまとめ(各データ型の振り返りと使い方のポイント)
9. PHP のデータ型のまとめ(各データ型の振り返りと使い方のポイント)

ここまで、PHPの主要なデータ型について学びました。それぞれの特徴を簡単に振り返ってみましょう。

主なデータ型とその用途

  • 整数型(int) - 小数のない数値(例: 100, -5, 0)
  • 浮動小数点型(float) - 小数を含む数値(例: 3.14, -0.99)
  • 文字列型(string) - テキストデータ(例: "Hello", 'PHP')
  • 真偽値(bool) - true または false
  • 配列(array) - 複数のデータを格納(例: ["りんご", "バナナ"])
  • NULL型(null) - 値がない状態

PHPの型変換のポイント

  • 数値と文字列は自動で変換されることがある(例: "10" + 5 は15になる)
  • データ型を強制的に変換するにはキャストを使用(例: (int) "123.45" → 123)
  • データ型を確認するには gettype()var_dump() を使う

PHPのデータ型を適切に使うコツ

  • 整数と浮動小数点は、計算の精度を考慮して適切に使う
  • 文字列を扱うときは、ダブルクォートとシングルクォートの違いを理解する
  • 配列は、リスト形式(インデックス配列)と連想配列を状況に応じて使い分ける
  • NULLは、変数の未設定やデータが存在しない場合に適用する

PHPのデータ型を理解し、適切に使い分けることで、よりスムーズなプログラム開発ができます。基本的なデータ型の操作をしっかりマスターしましょう!

まとめ

まとめ
まとめ

PHPの基本データ型をしっかり理解することは、プログラムの土台を築く上でとても重要です。今回の記事では、整数型(int)、浮動小数点型(float)、文字列型(string)、真偽値(bool)、配列型(array)、NULL型(null)といった主要なデータ型について、特徴や使い方を具体的なコード例とともに学びました。

特にPHPは「型を意識せずに書ける言語」と思われがちですが、実際には型の自動変換による思わぬバグや動作の違いに悩まされることも少なくありません。そのため、gettype() や var_dump()、is_***() 系の関数を使って型を確認する習慣をつけておくと、思わぬトラブルを未然に防ぐことができます。

また、float型の計算では丸め誤差が発生する可能性がある点や、文字列と数値が混ざった演算で自動的に型変換されるケースにも注意が必要です。PHPにおける型は柔軟である一方で、正しい型の理解がなければバグの原因にもなり得るため、今回のような基本型の学習はとても価値があります。

ここで、簡単な復習として複数の型をまとめて使ったサンプルを見てみましょう。


<?php
$name = "佐藤";
$age = 28;
$isMember = true;
$points = [10, 20, 30];
$total = array_sum($points);

echo "名前: $name<br>";
echo "年齢: $age<br>";
echo "会員: " . ($isMember ? "はい" : "いいえ") . "<br>";
echo "合計ポイント: $total";
?>

このように、int・string・bool・array など複数の型を組み合わせることで、現実に近いデータ処理が行えるようになります。変数の中にどんな型が入っているかを意識しながら、型を正しく扱う習慣をつけていきましょう。

先生と生徒の振り返り会話

新人

「最初は型のことがよく分からなかったんですが、今回の内容でだいぶ整理できました!」

先輩

「いいね!PHPは自動で型を扱ってくれるけど、裏側で何が起きているかを知っておくと、バグの原因も特定しやすくなるよ。」

新人

「たとえば文字列と数値を足すときに勝手に変換されるのとか、ちょっと怖いですね……。」

先輩

「そのとおり。予想と違う結果になることもあるから、gettype()var_dump()で確認するのが大事だよ。」

新人

「配列や連想配列も使ってみたくなりました!次は配列をもっと深く勉強してみます!」

先輩

「素晴らしい意欲!まずは今日学んだ型の知識を活かして、簡単なプログラムを自分で書いてみるといいよ。」

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

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

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

PHPのint型って何ですか?整数とどう違いますか?

int型は整数を表すPHPのデータ型で、数値のうち小数点を含まない数のことを指します。100や-5などが該当します。

PHPで型のキャストを使う場面はどんなときですか?

文字列を数値として扱いたい時や、小数を整数に変換して計算の誤差を防ぎたい時などにキャストを使います。

PHPで変数の値が設定されているか確認するには?

isset関数を使うことで、変数が存在し値がnullでないかを確認できます。

PHPのデータ型の知識がなぜ重要なのですか?

正しい型を理解することで、エラーの少ないコードが書けるようになり、プログラムの信頼性が高まります。

PHPで数値型と文字列型の違いはどこにありますか?

数値型は計算に使用され、文字列型はテキストを扱います。演算や出力の挙動に違いがあります。

PHPでは変数の初期値を指定しないとどうなりますか?

初期化されていない変数を使うとエラーになる場合があります。常に値を代入してから使いましょう。
コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
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
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
PHP
PHPでZipファイルを作成・展開する方法を初心者向けに解説!ZipArchiveクラスを使った圧縮・解凍の基本
-
-