第03回: データ型

章: 第1章: 文法の土台

「比較したのに結果がおかしい」——その原因、型の違いかもしれません

PHPは変数に型を明示しなくても動く言語です。しかし、それが「なぜこの比較はtrueなのか?」という謎バグを生む原因にもなります。文字列・整数・真偽値などの違いを意識するだけで、比較や計算のミスを大幅に減らせます。

まずコードを動かしてみる

PHPの主なデータ型を確認しましょう。


<?php
$name = 'Aki';
$score = 95;
$isPassed = true;
var_dump($name, $score, $isPassed);

var_dump() を使うと型と値を同時に確認できます。型を「見える化」する習慣が、バグ発見の近道です。

PHPの主なデータ型

用途
string 'hello' テキスト・ユーザー名・URL
int 42 整数・インデックス・件数
float 3.14 小数・金額・座標
bool true / false フラグ・条件
null null 値なし・未設定
array [1, 2, 3] 複数データのまとめ

型を意識しないと起こる問題


<?php
$input = '10'; // フォームからの入力は文字列
$result = $input + 5; // 15(PHPが自動変換)
var_dump($result); // int(15) — 意図通り動いたが…

// 比較では思わぬ結果が
var_dump('10' == 10);  // bool(true) ← 危険
var_dump('10' === 10); // bool(false) ← 型まで一致を確認

チェックポイント: var_dump() で型を確認する癖をつけましょう。特にフォーム入力やデータベースからの値は「文字列で来ている」ことが多いため、比較前に型を確認することが重要です。

まとめ & 次のステップ

  • PHPには string・int・float・bool・null・array など複数の型がある
  • var_dump() を使うと型と値を同時に確認できる
  • 型の違いが原因のバグは比較演算子 === で防ぎやすい
  • フォームやDBからの入力値は文字列として届くことを意識する
  • 型を意識するだけで「なぜかおかしい」バグが大幅に減る

次回は 型変換(キャスト)を学びます。入力値を意図した型に変換する技術は、安全なWebアプリ開発の基本です。

Related Articles