PHP常量详解

PHP中文网
PHP中文网Original
2017-04-05 11:33:451825Durchsuche

一、声明和使用常量

       常量可以理解为不变的量。常量被定义后,在脚本的其他任何地方都不能改变。一个常量由英文字母、下划线和数学组成。但数字不能作为首字母出现。

       在PHP中使用define()函数来定义常量,语法格式如下:

 define(string constant_name,mixed value,case_sensitive=true)

      参数说明:

      constant_name   必选参数。常量名称,即标识符。

      value      必选参数。常量的值。

      case_sensitive   可选参数。指定是否大小写敏感,设定为true,表示不敏感。

获取常量有两种方法:一种是使用常量直接获取;另一种是使用constant()函数,constant()函数和直接使用常量名输出效果一样。但函数可以动态输出不同常量,在使用上更灵活方便。函数语法格式为:

   mixde constant(string const_name)

       参数const_name为要获取常量的名称,也可为储存常量名的变量。如果获取成功则返回常量值,否则提示错误信息常量没有被定义。

要判断一个常量是否已经被定义,可以使用define()函数。函数语法格式为:

  bool defined(string constant_name)

      参数constant_name为要获取常量的名称,成功返回true,否则返回false。

实例:

为了更好的理解如何定义常量,这里给出一个定义常量实例。实例中使用上述的define()函数、constant()函数和defined()函数3个函数。使用defined()函数来定义一个常量,使用constant()函数来动态获取常量的值,使用define()函数来判断常量是否被定义。代码如下:

<?php
/define("变量名",值,是否模糊大小写)
define("MESSAGE","能看到一次");
echo MESSAGE."<br >";
echo Message."<br >";    //输出Message,表示没有该常量
define("COUNT","能看到多次",true);
echo COUNT."<br >";
echo CoUnT."<br >";      //输出COUNT,设定大小写不敏感
$name = "count";
//通过constant()函数获取常量
echo constant($name)."<br >";
//是否存在常量 "MESSAGE"
echo (defined("MESSAGE"))."<br >";  //如果常量被定义,则返回true,使用echo输出显示1。

输出结果:

能看到一次
Notice: Use of undefined constant Message - assumed &#39;Message&#39; in 编辑器代码错误位置。
Message
能看到多次
能看到多次
能看到多次
1

二、预定义常量

php中可以使用预定义常量获取php中的信息。预定义常量如下:

常量名 说      明
__FILE__ 默认常量,是 PHP 程序文件名
__LINE__ 默认常量,是 PHP 程序行数
PHP_OS 内建常量,指执行 PHP 解析器的操作系统名称
PHP_VERSION 内建常量,是 PHP 程序的版本
TRUE 该常量是一个真值
FALSE 该常量是一个假值
NULL 一个null值
E_ERROR 错误,导致php脚本运行终止
E_WARNING 警告,不会导致php脚本运行终止
E_PARSE 解析错误,由程序解析器报告
E_NOTICE 非关键的错误,例如变量未初始化

注意:FILE和LINE 中的“__”是两条下划线,而不是一条"_"。

说明:以E_开头的预定义常量,是PHP的错误调试部分。

实例:

预定义常量与用户自定义常量在使用上没什么差别。下面使用预定义常量输出PHP中的信息。

<?php
echo "PHP程序当前文件路径名:".FILE;
echo "<br >PHP程序当前行数:".LINE;
echo "<br >当前PHP程序的版本:".PHP_VERSION;
echo "<br >当前操作系统:".PHP_OS;

输出类似如下的结果:

PHP程序当前文件路径名:D:\phpStudy\www\index.php
PHP程序当前行数:3
当前PHP程序的版本:5.6.27
当前操作系统:WINNT

注意:根据每个用户所使用的操作系统和软件版本不同,所得结果也不一定相同。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn