2021-11-03

带你看懂PHP常量的定义与值的获取

在之前的文章《五分钟带你了解PHP中的魔术方法(实例详解)》中详细的介绍了PHP总的几种常见的魔术方法,本篇文章我们来看一下PHP中的常量相关知识。希望对大家有帮助!

在之前的学习中我们了解了PHP中变量的相关知识,其中包括变量的声明、特点还有变量的数据类型,在PHP中不仅有变量同时也存在着常量,常量和变量是相对应的。

常量和变量是比较类似的,但是其中常量被定义之后在脚本的其他地方都不能被改变,也没法被取消定义。接下来我们就来了解一下PHP中的常量吧。

PHP常量是什么

常量和变量相对应,常量简单来说就是不能改变的量,可以看成是一个简单值的标识符。其中需要注意的是,与变量不同,常量可以贯穿整个脚本,它是自动全局的,也就是在整个脚本中都可以使用。

一个常量通常情况下都是由数字、英文字母和下划线(_)组成的,但是准确来说一个合法的常量的常量名必须以下划线开始,常量名并不需要使用$修饰符进行修饰,它的命名用我们之前了解的正则表达式来表达就是这样的:

[a-zA-Z_/x7f-/xff][a-zA-Z0-9_/x7f-/xff]*

当一个数据不被改变或者说我们不希望它再有变化了,这时候我们就可以使用PHP常量来进行存储。这样的数据的数据类型可能是:整型、浮点型、字符串、布尔型还有数组类型。

PHP常量的定义与值的获取

在PHP中可以有两种方法来设置定义常量,它们是const定义和define()函数定义,还有就是通过constant()函数来设置已定义的常量,接下来我们就分别来介绍一下。

PHP常量的定义

1) const关键字

使用const关键字来定义常量,算是最简单的一步了,与赋值有点类似,下面我们来看一下const关键字的基础语法格式如下:

const 常量名 = 常量值;

接下来我们通过示例来看一下通过const关键字来定义常量,示例如下:

<?php
    const url = 'http://www.php.cn/';
    echo url;
?>

输出结果:

1103.01.png

2) define()函数

define()函数的基础语法格式如下:

define(string $name, mixed $value [, bool $case_insensitive = false])

其中需要注意的是:参数$name是个必选参数,用来表示常量名称,也就是即标志符。参数$value也是个必选参数,用来表示常量的值。参数$case_insensitive 是个可选参数,参数设置为 TRUE的时候,该常量则大小写不敏感。默认情况下是大小写敏感的。

接下来我们通过示例来看一下define()函数的应用,示例如下:

<?php
    define('WebSite', 'PHP中文网');   
    echo WebSite;
?>

输出结果:

1103.02.png

通过上述示例便能够了解PHP中可以通过define()函数和const两种方式来进行定义常量。接下来我们来看一下PHP中定义完常量之后怎样去获取常量的值。

PHP常量值的获取

constant() 函数

在PHP中我们已经定义常量后,想要去使用这个常量可以通过constant()函数,该函数的基本语法格式如下:

constant(string $name);

其中需要注意的是:参数$name表示的是想要操作的变量名称,也可以是一个储存常量名称的变量,但是如果这个常量未被定义的话,返回的结果会是一个错误。

接下来我们通过示例来看一下constant()函数的使用方法,示例如下

<?php
    define('WebSite', 'PHP中文网');
    const url = 'http://www.php.cn/';
    $website = 'WebSite';
    $url = 'url';
    echo constant($website).'<br>';
    echo constant($url);
?>

输出结果:

1103.03.png

通过上述介绍,我们已经了解了在PHP中可以通过const关键字、define()函数和constant() 函数来定义和设置常量。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上就是带你看懂PHP常量的定义与值的获取的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP 常量
  • https://www.php.cn/php-weizijiaocheng-483761.html

    发表回复

    Your email address will not be published. Required fields are marked *