0Pricing
PHP Academy · レッスン

PHPのデータ型概要

PHPの文字列、整数、浮動小数点数、ブール値、NULLを学びます。

「PHPのデータ型概要」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。

PHPの基本データ型

PHPは4つのスカラー型と、複数の複合型・特殊型をサポートしています:

  • スカラー型: string、int、float、bool
  • 複合型: array、object
  • 特殊型: NULL、resource

PHPはコンテキストに基づいて型を自動的に選択します。これは型の自動変換(type juggling)と呼ばれます。

文字列

文字列はテキストを格納します。シングルクォートまたはダブルクォートを使用します:

<?php
$single = 'Hello World';     // single — no variable parsing
$name   = 'PHP';
$double = "Hello $name";     // double — variables are interpolated

echo $double; // Hello PHP
echo strlen($single); // 11

整数と浮動小数点数

PHPの整数は小数点以下を持たない数値で、float(double)は小数値を保持します:

<?php
$count  = 42;         // int
$neg    = -7;         // negative int
$hex    = 0x1A;       // hexadecimal = 26
$price  = 19.99;      // float
$sci    = 1.5e3;      // scientific = 1500.0

echo PHP_INT_MAX;   // largest integer on this platform
echo PHP_FLOAT_MAX; // largest float

真偽値

真偽値は true または false のいずれかです。PHPでは、多くの値が真または偽として評価されます:

  • 偽とみなされる値: false、0、0.0、''、'0'、[]、NULL
  • 真とみなされる値: その他すべて
<?php
$isActive = true;
$isDone   = false;

if ($isActive) {
    echo 'Active';   // runs
}

var_dump((bool) '');   // bool(false)
var_dump((bool) 'hi'); // bool(true)

NULL

NULL は、意図的に値が存在しないことを表します:

  • 変数は、NULLが代入された場合、まだ一度も代入されていない場合、またはunsetされた場合にNULLになります
  • NULLかどうかを確認するには、is_null($var) または === null を使用します
<?php
$nothing = null;

var_dump(is_null($nothing));   // bool(true)
var_dump($nothing === null);   // bool(true)
var_dump($nothing == false);   // bool(true) — loose comparison

型としての配列

PHPの配列は異なる型を混在させて保持でき、整数キーまたは文字列キーを使用します:

<?php
$mixed = [42, 'hello', true, null];
$map   = ['name' => 'Alice', 'age' => 30];

echo gettype($mixed);        // array
echo count($mixed);          // 4
echo $map['name'];           // Alice

型を確認する関数

PHPには、実行時に型を確認するための is_* 関数が用意されています:

<?php
$val = 3.14;

var_dump(is_int($val));    // bool(false)
var_dump(is_float($val));  // bool(true)
var_dump(is_string($val)); // bool(false)
var_dump(is_numeric('42')); // bool(true) — string that looks like a number

厳密な型宣言

PHP 7以降では、ファイルの先頭で厳密な型モードを有効にできます:

<?php
declare(strict_types=1);

function add(int $a, int $b): int {
    return $a + $b;
}

echo add(3, 4);    // 7
// add(3, '4');   // TypeError in strict mode!

関数の型ヒント

PHP 7以降では、コードを明確にし、バグを検出しやすくするために、引数と戻り値の型ヒントをサポートしています:

<?php
function greet(string $name): string {
    return 'Hello, ' . $name . '!';
}

function divide(float $a, float $b): ?float {
    if ($b === 0.0) return null;  // nullable return
    return $a / $b;
}

echo greet('PHP');          // Hello, PHP!
var_dump(divide(10, 0));    // NULL

リソース

リソースは、ファイルハンドルやデータベース接続など、外部リソースへの参照を保持する特殊な変数です:

<?php
// fopen returns a resource
$handle = fopen('data.txt', 'r');

echo gettype($handle); // resource

fclose($handle); // always free resources when done

ユニオン型(PHP 8)

PHP 8ではユニオン型が導入され、引数や戻り値で複数の型を受け入れられるようになりました:

<?php
declare(strict_types=1);

function format(int|float $number): string {
    return number_format($number, 2);
}

echo format(1234);     // 1,234.00
echo format(9.5);      // 9.50

理解度チェック

文字列 '42' に対してPHPの is_numeric() 関数を実行すると、何が返されますか?

まとめ:PHPのデータ型

PHPの型システムについて学びました:

  • スカラー型:string、int、float、bool
  • 値が意図的に存在しないことを表すNULL
  • 複合型としての配列とオブジェクト
  • 外部リソースのハンドルに使用するリソース
  • 柔軟なシグネチャを実現するPHP 8のユニオン型
  • declare(strict_types=1) による厳密モード

次は、echo と print を使ってブラウザーにデータを出力します。

よくある質問

「PHPのデータ型概要」レッスンは無料ですか?

はい。「PHPのデータ型概要」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。

「PHPのデータ型概要」で何を学びますか?

PHPの文字列、整数、浮動小数点数、ブール値、NULLを学びます。 ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

PHP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「PHPのデータ型概要」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPHP Academyレッスンでコードを書いて実行できますか?

はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. PHPでの変数宣言
  2. PHPのデータ型概要
  3. EchoとPrintによる出力
  4. 型ジャグリングと型キャスト
← PHP Academyに戻る