在本课中,我们将讨论 PHP 常量。 PHP常量是什么?如何在 PHP 中创建常量? PHP 常量有什么作用? PHP常量创建规则是什么?请继续阅读以找出答案。

常量是用于存储数据的简单数据持有者。常量就像变量。它们与变量相比的唯一区别是:分配给变量的数据可以在以后更改或删除(设为未定义或为空);但是,分配给常量的数据以后不能更改或删除。

为了创建常量,我们使用 PHP 的预定义的 Define() 函数或 const 关键字。

在下面的示例中,我们将使用 Define() 函数和 const 关键字定义常量。

define( 'CAR_NAME', 'MERCEDES' );
// define() fonksiyonuyla CAR_NAME adında bir sabit tanımladık ve MERCEDES değerini verdik.
echo CAR_NAME;
// Çıktı: MERCEDES
const COMPANY_NAME = 'Onur Özden Web Çözümleri';
// const anahtar kelimesiyle COMPANY_NAME adında bir sabit tanımladık ve Onur Özden Web Çözümleri değerini verdik.
echo COMPANY_NAME;
// Çıktı: Onur Özden Web Çözümleri

PHP常量创建规则

  • 常量名称只能以字母或 _(下划线)开头。
  • (A-Z a-z 0-9) 和 _(下划线)可以用在常量名称中。
  • 特殊字符不能在常量名称中使用。
  • 定义常量名时,不能使用 PHP 使用的保留字(if、break、default、new 等)。
  • 分配给常量的值以后不能更改、删除或取消定义。

PHP 常量创建建议和技巧

  • 不建议在常量名称中编写全局代码,也不建议使用土耳其字符以提高可读性。
  • 我们可以用局部区域的const表达式调用我们在全局区域创建的常量。但是,我们不能在全局区域调用我们在局部区域创建的常量。此规则不适用于我们使用 Define 函数创建的常量。我们可以在任何字段之间调用使用define函数创建的常量。
  • 使用define()函数创建,默认区分大小写。 (可选)通过将 false 作为函数的第三个参数指定,使用 Define() 函数创建的常量可以不区分大小写。使用 const 关键字创建的常量不区分大小写。
  • PHP 目前支持区分大小写和不区分大小写的常量。不区分大小写的常量是不切实际的,会受到功能上各种不一致的影响,并导致实现过于复杂。因此,从不建议使常量不区分大小写。

PHP 常量示例

在下面的示例中,我们将介绍向数字数据类型中的常量赋予值以及向该常量赋予另一个常量的值。

define('SOFTWARE_VERSION', 2.4);
// define() fonksiyonuyla SOFTWARE_VERSION adında bir sabit tanımladık ve 2.4 değerini verdik.
echo SOFTWARE_VERSION;
// Çıktı: 2.4
const VERSION = SOFTWARE_VERSION;
// const anahtar kelimesiyle VERSION adında bir sabit tanımladık ve SOFTWARE_VERSION sabitinin değerini verdik.
echo VERSION;
// Çıktı: 2.4

在下面的示例中,我们将处理将数组类型数据分配给常量。

define('SOFTWARE_VERSION', 2.4);
// define() fonksiyonuyla SOFTWARE_VERSION adında bir sabit tanımladık ve 2.4 değerini verdik.
echo SOFTWARE_VERSION;
// Çıktı: 2.4
const VERSION = SOFTWARE_VERSION;
// const anahtar kelimesiyle VERSION adında bir sabit tanımladık ve SOFTWARE_VERSION sabitinin değerini verdik.
echo VERSION;
// Çıktı: 2.4

在下面的示例中,我们将在局部区域中使用 const 关键字来调用我们在全局区域中创建的常量。

const GLOBAL_CONSTANT = 'CONSTANT VALUE';
// Global alanda const anahtar kelimesiyle GLOBAL_CONSTANT adlı bir sabit oluşuturduk ve sabite CONSTANT VALUE değerini verdik.
function simple_function(): string
{
    return GLOBAL_CONSTANT;
}

// simple_function adlı bir fonksiyon oluşuturduk ve sabiti döndürdük (return).
echo simple_function();
// Döndürdüğümüz sabiti yazdırdık
// Çıktı: CONSTANT VALUE

在下面的示例中,我们将在全局区域中使用 const 关键字调用我们在本地区域中创建的常量。注意:此示例返回错误输出。因为这种用法是不正确的。

// Local alanda const anahtar kelimesiyle GLOBAL_CONSTANT adlı bir sabit oluşuturduk ve sabite CONSTANT VALUE değerini verdik.
function simple_function(): string {
	const GLOBAL_CONSTANT = 'CONSTANT VALUE';
	return GLOBAL_CONSTANT;
}
// simple_function adlı bir fonksiyon oluşuturduk ve sabiti döndürdük (return).
echo simple_function();
// Döndürdüğümüz sabiti yazdırdık
// Çıktı: Parse error: syntax error, unexpected 'const'  (T_CONST)
// Bu hata çıktısını almamızın nedeni local alanda const anahtar kelimesiyle sabit oluşturamamızdır. Const anahtar kelimesiyle bir sabiti sadece top-level veya global dediğimiz tüm scriptte geçerli olan alanlarda oluşturabiliriz.