php

php中define和defined函数的区别和用法实例

2023-09-05


define用来定义一个常量,常量也是全局范围的。不用管作用域,可以在脚本的任何地方访问。一个常量一旦被定义,就不能再改变或者取消定义。


常量与变量有很多相似的地方,很容易混淆;下面列举一下常量与变量之间的不同点:

一个常量值在指定之后就不可以更改

设置常量时,不需要在前面加上“$”符号

常量可以被所有范围的域访问

常量的值只能是“字符串[string]”和“数字[number]”


define的语法格式如下:define(name,value,case_insensitive)参数描述

name  必要参数,指定常量的名称

value  必要参数,指定常量的值

case_insensitive可选参数,指定常量的名称是否是不区分大小写的[case-insensitive]。如果设置为True,则不区分字母大小写;如果设置为False,则区分字母大小写。默认值是:False


指定一个常量(区分大小写),其示例代码如下:

<?php

  define("GREETING","How are you today?");

  echo constant("GREETING");

?>

输出下面的结果:How are you today?


指定一个常量(不区分大小写),其示例代码如下:

<?php

  define("GREETING","How are you today?",TRUE);

  echo constant("GREETING");

?>

输出下面的结果:How are you today?


defined

defined用来检测常量有没有被定义,若常量存在,则返回 true,否则返回 false。

defined的语法格式如下:defined(name)参数描述

name必要参数。指定常量对象的名称

其示例代码如下:

<?php

   define("GREETING","How are you today?");

   echo defined("GREETING");

?>

输出下面的结果:1


ThinkPHP模板引擎的defined标签用于判断常量是否已经被定义。

defined标签用法如下:要输出的内容

在模板/Tpl/default/Index/display.html中使用defined标签如下:网站名称:{*SITE_NAME}

如果判断没有被定义,可以使用:{*SITE_NAME}不存在活未定义