PHP のデータ型を完全ガイド!初心者でもわかる int, string, float, bool など
新人
「PHPで使えるデータ型にはどんな種類がありますか?」
先輩
「PHPには、数値、文字列、真偽値、配列など、いくつかの基本的なデータ型があります。それぞれの使い方を学んでいきましょう!」
1. PHP のデータ型とは?
PHPでは、変数に格納できるデータの種類をデータ型と呼びます。主なデータ型は次のとおりです。
- 整数型(int)
- 浮動小数点型(float)
- 文字列型(string)
- 真偽値(bool)
- 配列(array)
- NULL型(null)
PHPでは、変数を宣言するときに型を指定しなくても、自動的に適切な型が割り当てられます。次のコードを見てみましょう。
<?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
関数を使うと、変数のデータ型を調べることができます。
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)の基本
文字列型(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)の使い方
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)とは?
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)の意味と使い方
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. 型の変換(キャストと自動変換)
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関数)
変数のデータ型を確認するには、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 のデータ型のまとめ(各データ型の振り返りと使い方のポイント)
ここまで、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のデータ型を理解し、適切に使い分けることで、よりスムーズなプログラム開発ができます。基本的なデータ型の操作をしっかりマスターしましょう!