PHP の定数

WBOY
リリース: 2016-07-30 13:30:06
オリジナル
1074 人が閲覧しました

概要

定数の値はスクリプト実行中に変更できません

一度定義した定数は、再定義したり未定義にしたりすることはできません

定数はデフォルトで大文字と小文字が区別されます。従来、定数識別子は常に大文字でした。PHP 5.3.0 以降では、const キーワードを使用してクラス定義の外で定数を定義できます。

const を使用して関数、ループ、if ステートメント内で定数を定義することはできません。


定数にはスカラー データ (ブール値、整数、浮動小数点、文字列) のみを含めることができます。リソース定数を定義することは可能ですが、予期しない結果が生じる可能性があるため、これは避けてください。

変数とは異なり、定数の前に $ 記号を置くことはできません

<code><?php
define("$a", "something");
echo $a; // 无效
?>
</code>
ログイン後にコピー

定数のスコープ

定数は変数のスコープに関係なくどこでも定義してアクセスできます

<code><?php
define("A", "something");
function fn() {
    echo A;
}
fn(); // something
?>

<?php
define("A", "something");
echo A; // something
?>
</code>
ログイン後にコピー
定数のスコープを明確に確認してください
<code><?php
echo A; // A
define("A", "something");
?>
</code>
ログイン後にコピー

魔法の定数

いわゆる魔法の定数は、実際には定数ではありません

魔法の定数は8つあり、コード内の位置が変わると値も変わります

名前__LINE____FILE____DIR____FUNCTION____CLASS____TRAIT____METHOD____NAMESPACE__
説明
ファイル内の現在の行番号。
ファイルのフルパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場合は解決された絶対パス) が含まれますが、それより前のバージョンには相対パスが含まれる場合がありました。
ファイルが配置されているディレクトリ。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。これは dirname(__FILE__) と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機能)
関数名 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
クラスの名前 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。クラス名には、それが宣言されているスコープが含まれます (例: FooBar)。 PHP 5.4 以降、__CLASS__ はトレイトに対しても機能することに注意してください。特性メソッド内で使用される場合、__CLASS__ は特性メソッドを呼び出すクラスの名前になります。
トレイト名 (PHP 5.4.0 の新機能)。 PHP 5.4 以降、この定数は定義されたとおりの特性の名前を返します (大文字と小文字が区別されます)。トレイト名には、それが宣言されるスコープが含まれます (例: FooBar)。
クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
現在のネームスペースの名前 (大文字と小文字が区別されます)。この定数はコンパイル時に定義されます (PHP 5.3.0 の新機能)。

著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

以上、PHP の定数を関連コンテンツも含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート