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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- PHPでの変数宣言
- PHPのデータ型概要
- EchoとPrintによる出力
- 型ジャグリングと型キャスト