Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】PHP_VERSION_ID定数の使い方

PHP_VERSION_ID定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

PHP_VERSION_ID定数は、現在のPHPのバージョンを一意の整数値として表す定数です。この定数は、PHPのメジャーバージョン、マイナーバージョン、およびリリースバージョン(パッチバージョン)の3つの数値要素を結合して生成される整数値で構成されています。具体的には、「メジャーバージョン * 10000 + マイナーバージョン * 100 + リリースバージョン」の形式で表現されます。例えば、PHP 8.2.12が動作している環境では、PHP_VERSION_ID定数は80212という値を持ちます。また、PHP 8.3.0の場合であれば、80300となります。

この定数を使用することで、実行中のPHPのバージョンに基づいて、コード内で異なる処理を行う条件分岐を簡潔かつ効率的に記述できます。例えば、ある関数や機能が特定のPHPバージョン(例えばPHP 8.1.0)以降で導入された場合にのみ利用したい場合、PHP_VERSION_ID >= 80100のような条件式を用いてチェックすることが可能です。これにより、異なるPHPバージョン間でのコードの互換性を確保しやすくなります。

PHP_VERSION_IDは、文字列比較を行うversion_compare()関数と異なり、純粋な数値比較であるため、特に頻繁なバージョンチェックが必要な場面において、パフォーマンス面でわずかながら優位性があります。システムを開発する上で、特定のPHPバージョンに依存するコードや、非推奨となった古い機能への対応を柔軟に行うために非常に役立つ定数です。この定数を利用することで、堅牢で将来性のあるアプリケーションを構築する手助けとなります。

構文(syntax)

1<?php
2echo PHP_VERSION_ID;
3?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

PHP_VERSION_ID は、実行中の PHP のバージョンを整数で表す定数です。例えば、PHP 8.1.2 の場合、801002 という整数値が返されます。

サンプルコード

PHPバージョンの整数/文字列取得と判定

1<?php
2
3/**
4 * PHP_VERSION_IDは、PHPのバージョンを整数値で表す定数です。
5 * 例えば、PHP 8.2.1 なら 80201 となり、メジャー・マイナー・リリースの各バージョンを
6 * 数値として比較する際に非常に便利です。
7 * 通常、特定のPHPバージョン以上が必要な条件分岐などに利用されます。
8 */
9echo "現在のPHPのバージョンID: " . PHP_VERSION_ID . PHP_EOL;
10
11/**
12 * phpversion()関数は、PHPのバージョンを文字列として取得します。
13 * 例: '8.2.1'
14 * 主にユーザーへの表示や、ログ出力などに利用されます。
15 */
16echo "現在のPHPのバージョン (文字列): " . phpversion() . PHP_EOL;
17
18// PHP_VERSION_IDを使って、特定のPHPバージョン以上であるかを確認する例。
19// ここではPHP 8.0.0 (ID: 80000) 以上であるかを確認します。
20// PHP 8.0.0 は ID 80000、PHP 8.1.0 は ID 80100、PHP 8.2.0 は ID 80200 となります。
21if (PHP_VERSION_ID >= 80000) {
22    echo "このPHPのバージョンはPHP 8.0.0以上です。" . PHP_EOL;
23} else {
24    echo "このPHPのバージョンはPHP 8.0.0未満です。" . PHP_EOL;
25}
26
27// より具体的なバージョン、例えばPHP 8.2.0 以上であるかを確認する例。
28if (PHP_VERSION_ID >= 80200) {
29    echo "このPHPのバージョンはPHP 8.2.0以上です。" . PHP_EOL;
30} else {
31    echo "このPHPのバージョンはPHP 8.2.0未満です。" . PHP_EOL;
32}

このPHPコードは、実行中のPHPのバージョン情報を取得し、その情報を利用して特定のバージョン要件を満たしているかを確認する方法を示しています。

PHP_VERSION_IDは、現在実行されているPHPのバージョンを整数値で表す定数です。例えば、PHP 8.2.1であれば、この定数の値は80201となります。これは、メジャー、マイナー、リリースの各バージョン番号を連結して数値化したもので、引数はなく、常にint型の数値が返されます。この定数は、特定のPHPバージョン以上が必要な処理の条件分岐において、バージョンを直接数値として比較できるため非常に役立ちます。

一方、phpversion()関数は、PHPのバージョンを'8.2.1'のような文字列として取得する関数です。引数はなく、string型のバージョン文字列が戻り値として返されます。この関数は、主にユーザーへのバージョン情報の表示や、ログへの出力など、人間が読みやすい形式でバージョンが必要な場面で利用されます。

サンプルコードでは、最初にそれぞれの方法で取得したバージョン情報を出力しています。その後、PHP_VERSION_IDを利用して、現在のPHPのバージョンが「PHP 8.0.0以上(ID: 80000以上)」であるか、または「PHP 8.2.0以上(ID: 80200以上)」であるかを判定する具体的な条件分岐の例を示しています。これにより、プログラムが想定するPHP環境のバージョン要件を効率的に確認できます。

PHP_VERSION_IDはPHPのバージョンを整数値で表す定数で、特定のPHPバージョン以上かを確認する条件分岐など、バージョン間の比較に非常に適しています。例えばPHP 8.2.1は80201のように、メジャー・マイナー・リリースの各バージョンを数値として組み合わせた形式となりますので、比較する際にはこの数値ルールを正確に理解して指定することが重要です。一方、phpversion()関数はPHPのバージョンを「8.2.1」のような文字列として取得し、主にユーザーへの表示やログ出力など、視覚的な情報として利用する際に適しています。これら二つの使い分けを正しく理解し、目的に応じて使い分けることで、将来のバージョンアップにも対応しやすい安全なコードを作成できます。

PHP_VERSION_ID 確認と表示

1<?php
2
3/**
4 * 現在のPHPのバージョンID (PHP_VERSION_ID) を確認し、表示する関数。
5 *
6 * PHP_VERSION_ID は、PHPのバージョンを整数値で表現した定数です。
7 * 例えば、PHP 8.2.13 の場合、IDは 80213 となります。
8 * この関数は、システムのPHPバージョン互換性を確認する際に役立ちます。
9 *
10 * @return void
11 */
12function displayPhpVersionId(): void
13{
14    // PHP_VERSION_ID 定数の値を取得し、表示します。
15    echo "現在のPHPのバージョンID: " . PHP_VERSION_ID . "\n";
16
17    // 参考として、より人間が読みやすいPHPバージョン文字列も表示します。
18    // PHP_VERSION は、PHPのバージョンを文字列で表現した定数です。
19    echo "詳細なPHPバージョン文字列: " . PHP_VERSION . "\n";
20
21    // バージョンIDからメジャーバージョン、マイナーバージョン、リリースバージョンを
22    // 推測する方法を説明します。(例: 80213 -> PHP 8.2.13)
23    echo "バージョンIDは、通常「メジャーバージョン * 10000 + マイナーバージョン * 100 + リリースバージョン」の形式で表されます。\n";
24    echo "例えば、IDが 80213 の場合、PHP 8.2.13 を意味します。\n";
25}
26
27// 関数を実行してPHPのバージョンIDを確認します。
28displayPhpVersionId();

PHPの定数PHP_VERSION_IDは、現在実行されているPHPのバージョンを数値で一意に識別するためのものです。この定数には引数はなく、直接その値を利用します。戻り値は整数(int)型であり、例えばPHP 8.2.13の場合、そのIDは80213という形で表現されます。これは、メジャーバージョン、マイナーバージョン、リリースバージョンを組み合わせた数値であり、特定のPHPバージョンに依存する処理や、システムが最小要件を満たしているかなどをプログラム的に確認する際に非常に有用です。

サンプルコードでは、displayPhpVersionIdという関数を定義し、その中でPHP_VERSION_IDの値をecho文で画面に表示しています。これにより、現在利用しているPHP環境のバージョンIDを手軽に確認できます。さらに、参考として、より人間が読みやすい文字列形式のバージョン情報を提供する定数PHP_VERSIONも合わせて表示し、両者の違いと利用シーンを解説しています。PHP_VERSION_IDの数値は、通常「メジャーバージョン * 10000 + マイナーバージョン * 100 + リリースバージョン」という規則で構成されており、この規則を理解することでバージョンIDから具体的なバージョン情報を正確に把握できます。関数を実行することで、これらの情報が実際に表示されます。

PHP_VERSION_IDはPHPのバージョンを整数値で表す定数であり、主に特定のPHPバージョン以上でしか利用できない機能の有無を判断する際の条件分岐に非常に役立ちます。例えば、if (PHP_VERSION_ID >= 80200)のように記述することで、より正確かつ効率的にバージョン互換性をチェックできます。この定数は内部で定義されているため、値を変更することはできません。また、単にバージョン情報を画面に表示したい場合は、人間が読みやすい文字列形式のPHP_VERSION定数を使用する方が適切です。将来的なPHPバージョンアップ時には、コードの互換性を確認する重要な指標となります。

関連コンテンツ

関連プログラミング言語