PHPの定数と定数の宣言方法
- 24-07-2022
- Toanngo92
- 0 Comments
Mục lục
定数の概念
定数は、単一の値を識別する用語です。スクリプトの実行中は、定数の値を変更できません。定数名は、文字またはアンダースコアでのみ開始できます(定数名の前に$記号を配置することはできません)。
変数とは異なり、定数はスクリプト全体で自動的にグローバルになります。つまり、定数は変数に似ていますが、一度指定すると変更できません
定数の定義
PHPで定数を初期化する構文:
define(name, value, case-insensitive)
例えば:
<?php define('VERSION','8.0'); echo VERSION; // output: 8.0 ?>
定数配列
PHP 8では、define()関数を使用して配列定数を作成できます。
<?php define("CARS", [ "Alfa Romeo", "BMH", "Toyota", "Range-Rover" ]); var_dump(CARS); // array(4) { [0]=> string(10) "Alfa Romeo" [1]=> string(3) "BMH" [2]=> string(6) "Toyota" [3]=> string(11) "Range-Rover" }
定数はグローバルスコープに存在します。したがって、スクリプト全体で使用できます。
関数の外部で定義されている場合でも、関数の内部で定数を使用する例:
<?php define("Hello", "what's new in PHP?"); function myTest() { echo Hello; } myTest(); //output: what's new in PHP? ?>
PHPのマジック定数(事前定義された定数)
PHPでは、いくつかの事前定義された定数の値は、それらが使用されるコンテキストに応じて変化します。これらの定数はマジック定数と呼ばれます。大文字と小文字は区別されません。 PHPには9つのマジック定数があり、そのうちの8つは二重アンダースコア(__)で開始および終了します。
- __ライン__
- __ファイル__
- __DIR__
- __関数__
- __クラス__
- __TRAIT__
- __方法__
- __NAMESPACE__
- ClassName :: class
定数名 | 説明 |
__ライン__ | 現在の行番号を返します |
__ファイル__ | 現在のファイルの絶対パスを返します |
__DIR__ | 現在のディレクトリパスを返します |
__関数__ | 呼び出されている現在の関数を返します |
__クラス__ | 現在のクラスを返します |
__TRAIT__ | 使用中のTRAITを返します |
__方法__ | 現在のメソッドを返します |
__NAMESPACE__ | 現在の名前空間を返します |
ClassName :: class | 現在のクラスを返します |
通常の定数とは異なり、これらの9つの定数はすべて、実行時ではなくコンパイル時に解決されます。