首先常量名一定要大写,这是规范。
常量名不能用$符。
常量不能重复定义。
1.在php中定义常量是用define()函数,如下代码:
define()函数不能用于类内部。
define(常量名,值,[是否区分大小写]);true是不区分大小写,false区分大小写。默认情况下常量名是区分大小写的,也就说默认false。
在定义常量的时候先判断一下当前常量是否被定义,用defined()函数判断,如:if(!defined('name')){};返回值是true或者false。
1 <html> 2 <body> 3 <!-- define不可用于类内部 --> 4 <?php 5 define('COUNTRY', 'China'); 6 echo COUNTRY . '<br>'; 7 ?> 8 9 <!-- define的条件使用和变量赋值 --> 10 <?php 11 $i = 1; 12 if($i > 0) { //define可以用于条件语句,const不可以用于条件语句 13 define('NUMBER', $i); //define可以使用变量赋值 14 } 15 echo NUMBER . '<br>'; 16 ?> 17 </body> 18 </html>2.在类中定义常量,只能用const关键字定义,并且常量一定要赋初值,并且以后不能再修改,修改则报错。
另外访问常量是不能通过对象来访问的,在类外部通过类名来访问,在类的成员方法中通过self来访问。借用下博友代码:
<?php
class
myclass{
const
CONSTANT=
'CONSTANT
value'
;
function
showconstant(){
echo
self::CONSTANT.
"<br>"
//使用self访问常量,注意常量前不要加“$”;
}
}
echo
myclass::CONSTANT.
"<br>"
;
//在类外部使用类名称访问常量,也不要加“$”
$class
=
new
myclass();
//通过类myclass创建一个对象引用$class
$class
->showconstant();
//调用对象中的方法
//echo
$class::CONSTANT; //通过对象名称访问常量时不允许的