关于PHP的常量

“定数”在中文中可以用以下方式表达:

在宣言时确定的值无法重新定义。

在PHP中定义常量的两种方法

使用define()函数来定义常量。

define('定数名', '値');

PHP7以后可以定义数组常量。

// 定数をクラス外に定義
define('CONSTANT', ['key1' => 'hoge', 'key2' => 'fuga']);
class Sample
{
    function printConst()
    {
        // クラス内から定数にアクセスする場合
        print_r(CONSTANT);
    }
}
$sample = new Sample();
$sample->printConst();                 // CONSTANTが出力される
// クラス外から定数にアクセスする場合(同じ)
print_r(CONSTANT);                     // CONSTANTが出力される

在JavaScript中通过使用const关键字来定义常量。

const '定数名' = '値';

可以在PHP5.3以上版本使用。
PHP7以后可以定义数组常量。
const可以定义类常量。

class Sample
{
    // 定数をクラス内に定義
    const CONSTANT = ['key1' => 'hoge', 'key2' => 'fuga'];
    function printConst()
    {
        // クラス内から定数にアクセスする場合
        print_r(self::CONSTANT);
    }
}
$sample = new Sample();
$sample->printConst();          // CONSTANTが出力される
// クラス外から定数にアクセスする場合
print_r(Sample::CONSTANT);      // CONSTANTが出力される

define() 和 const 的区别是什么?

define() は関数なので、const の方が高速に処理される。

define() は変数や関数の戻り値を使えて、const では使えない。

$func = function(){
    return '定数';
};
define('CONST_DEFINE', $func());
echo CONST_DEFINE;  // 定数が出力される
// 定数式に無効なものが含まれているという以下のエラーで終了する
// Fatal error: Constant expression contains invalid 
const CONST_CONST = $func();
echo CONST_CONST;   

define() は if 文や function の中でも使える。

广告
将在 10 秒后关闭
bannerAds