PHP 中 define 和 defined 的区别

1. define

define 用来定义一个常量,常量也是全局范围的,不用管作用域就可以在脚本的任何地方访问常量。

一个常量一旦被定义,就不能再改变或者取消定义,例如:  

define("mimvp", "http://mimvp.com");
echo "mimvp: " . mimvp;		// mimvp: http://mimvp.com

define("mimvp", "http://mimvp.com");  define 变量 mimvp 为 http://mimvp.com

 

2. defined

defined 是一个函数,用来检测常量是否被定义,若常量存在,则返回 true,否则返回 false,例如:

define("mimvp", "http://mimvp.com");
if(defined("mimvp")) {
	echo "true";		// true
} else {
	echo "false";
}

 

3. isset()

判断一个变量是否定义

$mimvp = "http://mimvp.com";
if(isset($mimvp)) {
	echo "mimvp is set : " . $mimvp;	// mimvp is set : http://mimvp.com
}

 

4. function_exists()

判断一个函数是否定义

if(function_exists('date_default_timezone_set')) {
	echo "date_default_timezone_get : " . date_default_timezone_get();	// Asia/Shanghai
	date_default_timezone_set("Asia/Chongqing");
	echo "date_default_timezone_get : " . date_default_timezone_get();	// Asia/Chongqing
}

 

5. file_exists()

判断一个文件是否存在

$file = 'index.php';
if (file_exists($file)) {
	echo "file is exist : $file";	// file is exist : index.php
} else {
	echo "file is not exist : none";
}

 

 

参考推荐

PHP 文件操作常用函数

php 常用函数总结(数组,字符串,时间,文件操作)