首页/PHP/PHP中常量:define与const的详解及用法

PHP中常量:define与const的详解及用法

常量的定义:一个常量一旦被定义就不能改变或者取消定义,值必须是标量(不变的),大小写敏感,通常常量标识符总是大写。

常量的值类型:标量数据(boolean,integer,float,string),也可定义resource(资源)常量,但可能会引起不可预料的错误。

常量的定义方式:define()或const关键字,区别稍后说明。

一、常量的使用包括,定义及访问,直接看代码。


<?php
	const USERNAME1 = "hello";
	define("USERNAME2","world");

	echo USERNAME1."</br>";
	echo USERNAME2."</br>";
	echo constant("USERNAME1")."</br>";//读取常量
	echo constant("USERNAME2")."</br>";//读取常量

	echo "<pre>";
	print_r(get_defined_constants());//该函数为系统中存储的常量,包括预定义以及用户自定义,返回值为数组。
	echo "</pre>";
?>

OK,以上为常量的定义以及使用,使用的过程中,你可以像变量一样进行操作,传参、连接、总之值不变即可。

二、常量的定义-define()与const的区别及使用。

PHP5.3版本前,一般定义全局常量使用define(),而const关键字只能用于定义类中的常量,define()不能在类中使用。

PHP5.3版本后,const也可用于定义全局常量,但效率要比define()高。

最重要的一点区别就是:使用const定义常量必须处于最顶端区域,因为是在PHP编译时定义的,所以也就意味着,在函数、循环、以及if语句内不能使用const。

另外,define()可以通过第三个参数指定是否区分大小写,而const则不行。

 


<?php
	if(...){
		const USERNAME = 'BAR';    // 无效的invalid
	}
	
	if(...) {
		define('USERNAME', 'BAR'); // 有效的valid
	}
?>

<?php
	define('TOO', 'BAR', true);
	echo TOO; // BAR,正确
	echo too; // BAR,正确
?>

总结:以上就为php常量define()与const的用法了,实际上主要是5.3版本前后的差异,切忌一点在函数内、循环、if语句中不要使用const就行了。

收藏:

相关资讯