La valeur d'une constante ne peut être qu'une donnée scalaire (booléenne, entier, flottant et chaîne) ou nul.
Une fois qu'une constante est définie, elle ne peut pas être redéfinie ou indéfinie.
a deux méthodes de définition :
Utilisez la fonction define() pour définir des constantes
define('STATUS', 3); // Si le troisième paramètre est défini sur true, il n'est pas sensible à la casse
echo STATUS;
Utilisez le mot-clé const pour définir des constantes
const NAME = 4;
echo NAME;
Vous pouvez également utiliser la fonction constant() pour obtenir la valeur de la constante.
Utilisez la fonction définie(), pour vérifier si une constante d'un certain nom existe.
2. Constantes de classe
Vous pouvez définir des constantes dans les classes. La valeur d'une constante doit être une valeur fixe et ne peut pas être une variable, un attribut de classe ou le résultat d'autres opérations (telles que comme appels de fonction). Mais dans PHP5.6, les constantes ont été améliorées pour permettre des calculs de constantes et permettre l'utilisation d'expressions résultats contenant des nombres, des chaînesvaleurs littérales et constantes pour définir la constante const . La valeur d'une constante peut également être un tableau, mais pas une variable.
Seul le mot-clé const peut être utilisé pour définir des constantes de classe.
class MyClass { const AB = 2; public function showConstant(){ echo self::AB; } } echo MyClass::AB; $obj = new MyClass(); $obj -> showConstant(); MyClass::showConstant(); $className = 'MyClass'; echo $className::AB;
Exemple :
/** * 1、define(name,value,case_insensitive) 自定义全局常量, 默认大小写敏感 * 2、const 定义类常量。 * 3、常量名前不要使用”$” * 4、常量的命名一般全部使用大写字母。 */ //定义全局常量 LANGUAGE define('LANGUAGE','中国'); echo language;//language echo LANGUAGE;//中国 //定义全局常量 CN define('CN','中国',TRUE); echo CN;//中国 echo cn;//中国 //定义类常量 class ConstTest{ const VERSION = '1.0'; function ConstTest(){ //类内部使用“self::常量名”调用,不能使用$this echo 'self::VERSION='.self::VERSION; } } //实例化 ConstTest,目的是调用构造函数 new ConstTest(); //外部调用类常量,通过“类名::常量名”直接调用,无需实例化。 echo 'VERSION='.(ConstTest::VERSION); echo '<br>'; //array get_defined_constants ([ bool $categorize = false ] ) 返回所有已定义的常量 //print_r(get_defined_constants(true)); //bool defined ( string $name ) 检查该名称的常量是否已定义。 echo defined('cn')?'true':'false';
Résultat d'impression :
language 中国 中国 中国 self::VERSION=1.0 VERSION=1.0 true
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!