phpdefine(php define和const的区别)
本文目录
php define和const的区别
众所周知,在PHP中(PHP 4及以后),我们可以使用函数define()来定义常量,例如:《?phpdefine(’PI’, 3.14159); //定义一个名为PI的常量echo PI; //输出:3.14159?》不过,在PHP 5.3.0之后,除了使用函数define()之外,我们还可以使用PHP关键字const来定义常量。例如:《?php//以下代码需在PHP 5.3.0及之后的版本中运行const PI = 3.14159; //使用const关键字定义一个名为PI的常量echo PI; //输出:3.14159?》虽然上述两种方式均可以定义常量,但是它们之间有什么不同之处呢。下面我们来一一讲解PHP中define()函数和const关键字定义常量的区别:1.版本差异首先,毫无疑问的是,两种定义常量的方式之间存在版本差异,函数define()在PHP4和PHP5中均可使用,关键字const只能在PHP 5.3.0及其后的版本中使用。2.定义位置的区别由于函数define()定义的常量是在执行define()函数时定义的,因此可以在函数内、循环内、if语句内等函数能够被调用的任何地方使用define()函数定义常量。与define()不同的是,由于const关键字定义的常量是在编译时定义的,因此const关键字定义常量必须处于最顶端的作用区域。这也就意味着不能在函数内、循环内以及if语句之内用const来定义常量。《?php//使用const关键字定义常量必须处于最顶端的作用区域//也就是可以在编译时直接解析定义的地方const DEMO = ’DEMO’;class Person{const MAN = ’男’;const WOMAN = ’女’;}interface USB{const VERSION_2 = ’2.0’;const VERSION_3 = ’3.0’;}?》3.对值的表达式支持的差异虽然关键字const和define()定义的常量值都只能为null或标量数据(boolean,integer,float和string类型)以及resource类型(不推荐定义resource类型的常量,否则可能出现无法预知的结果)。不过,由于关键字const定义常量是在编译时定义的,因此const关键字定义的常量值的表达式中不支持算术运算符、位运算符、比较运算符等多种运算符,而这些运算符在define()函数定义常量时都是可以直接使用的。《?phpdefine(’DEFINE_VAR1’, 1 《《 1);//const CONST_VAR1 = (1 《《 1); //const不支持位运算符,PHP会报语法错误define(’DEFINE_VAR2’, 1 + 1);//const CONST_VAR2 = 1 + 1 ; //const不支持算术运算符,PHP会报语法错误define(’DEFINE_VAR3’, 1 == 1);//const CONST_VAR3 = 1 == 1 ; //const不支持比较运算符,PHP会报语法错误$value = 3;define(’DEFINE_VAR4’, $value);//const CONST_VAR4 = $value ; //const不支持变量形式的值,PHP会报语法错误define(’DEFINE_VAR5’, true || false);//const CONST_VAR5 = true || false ; //const不支持逻辑运算符,PHP会报语法错误define(’DEFINE_VAR6’, ’Hello’.’ World!’);//const CONST_VAR6 = ’Hello’.’ World!’ ; //const不支持字符串运算符,PHP会报语法错误class User{ }$user = new User();define(’DEFINE_VAR7’, $user instanceof User);//const CONST_VAR7 = $user instanceof User ; //const不支持类型运算符,PHP会报语法错误?》4.对字符大小写敏感的支持差异除上述3个区别外,还有一个不太起眼的区别。函数define()可以接收第3个参数,如果该参数为true,则表示常量名的大小写不敏感。而使用const关键字定义常量却没有提供类似的功能。《?php//设置编码为UTF-8,以避免中文乱码header(’Content-Type:text/html;charset=utf-8’);//define()的第3个参数为true时,表示大小写不敏感define(’SITE_NAME’, ’CodePlayer’, true);echo SITE_NAME; //输出:CodePlayerecho site_name; //输出:CodePlayerecho SiTe_NamE; //输出:CodePlayerconst DOMAIN_NAME = ’365mini.com’;echo DOMAIN_NAME; //输出:365mini.comecho domain_name; //PHP提示常量未定义echo DomaIN_nAMe; //PHP提示常量未定义?》
PHP中define和defined的区别及用法
用法:
define("GREETING","Hello world!");
echo defined("GREETING")。
区别:
一、指代不同
1、define:函数定义一个常量。
2、defined:函数检查某常量是否存在。
二、功能不同
1、define:在设定以后,常量的值无法更改,常量名不需要开头的美元符号 ($)。
2、defined:若常量存在,则返回 true,否则返回 false。
三、用处不同
1、define:defined(name),必需。规定要检查的常量的名称。
2、defined:define(name,value,case_insensitive)可选。规定常量的名称是否对大小写敏感。
若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。
参考资料来源:百度百科-define
参考资料来源:百度百科-defined
php define(’ACC’,true) 是什么意思
意思是用define函数定义一个布尔型类型的常量,常量名是"ACC",其值设为真(true)。define()函数定义一个常量。常量类似变量,不同之处在于:1.在设定以后,常量的值无法更改;2.常量名不需要开头的美元符号($);3.作用域不影响对常量的访问;4.常量值只能是字符串或数字。语法:define(name,value,case_insensitive)参数:name:必需。规定常量的名称。value:必需。规定常量的值。case_insensitive:可选。规定常量的名称是否对大小写敏感。若设置为true,则对大小写不敏感。默认是false(大小写敏感)。
php类怎么用define定义常量
《?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // outputs "Hello world."echo Constant; // outputs "Constant" and issues a notice.define("GREETING", "Hello you.", true);echo GREETING; // outputs "Hello you."echo Greeting; // outputs "Hello you."?》 注意大小写。这样写便可全局。若要在函数中,用此法也行:globel wc;wc="god";
更多文章:
清风dj音乐网?为什么清风DJ网站www.vvvdj.com打不开,我是用网通宽带的,已经好几天打不开了,官方怎么啦,我是会员的哦
2024年6月11日 22:20
微信系统环境可能存在异常重启手机?我的手机看微信时总有(微信无响应)应怎样解决
2024年6月11日 09:32
航空母舰的舰长一般是什么军衔?伊朗高级指挥官说美国航母不是威胁,而是机遇,他的言外之意是什么
2023年7月11日 16:40
真三国无双4中文版下载(哪里有真三国无双4简体中文版下载啊)
2024年9月17日 15:40
《一一》为什么是中国电影的巅峰之一?杨德昌的《一一》是现实主义的电影吗
2024年7月15日 02:00
中晶v700(中晶扫描仪 Phantom v700怎样设置,文档能更清楚)
2023年8月23日 20:00
电池医生专业版(iPhone4上的电池医生专业版是什么工作原理)
2024年6月30日 21:35
用友云财务软件(用友有适合中小微企业财务人员使用的云端记账软件吗)
2024年7月12日 20:58
中国哪里产翡翠 什么地方产翡翠中国?中国十大翡翠手镯品牌中国十大翡翠手镯品牌介绍
2023年6月4日 06:00
hp p1008打印机驱动(惠普P1008打印机驱动不能安装)
2024年7月16日 07:58