关于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 の中でも使える。