3. 常量

基本介绍

常量是一个不能改变值且没有 $ 美元符号的变量,通常我们会将常量的命名用大写表示(严格区分大小写),但它在作用域上和普通变量有所不同,它属于 超全局变量,一旦定义了,在任何地方都能使用。

常量的值应该是标量数据类型(BooleanIntegerFloatString),尽量避免不要使用其他类型的值。
常量一旦定义,不能对其进行赋值,且不能重新定义或是取消定义。
常量可以在任意地方定义和访问。
使用const的方式定义常量,不能在if、循环、函数中定义。

// 普通常量
define('MIN_SIZE', 10);
define('MAX_SIZE', 100);
echo MIN_SIZE. ' : ' . MAX_SIZE . '<br />';

// 第二种方式
const MIN_LENGTH = 100;
const MAX_LENGTH = 1000;
echo MIN_LENGTH. ' : ' . MAX_LENGTH . '<br />';

// 动态名常量定义
$name = 'TEMP';
define($name, 'hello world');
// 动态名常量获取
echo constant($name) . ' : ' . TEMP . '<br />';

// 检查常量是否已经定义
echo defined($name) . '<br />';  // true
// 普通常量
define('MIN_SIZE', 10);
define('MAX_SIZE', 100);
// 定义类
class Example{
    // 类的常量
    const MIN_SIZE = 20;
    const MAX_SIZE = 200;
    // 测试方法
    static function func(){
        // 20 : 100
        echo self::MIN_SIZE . " : " . MAX_SIZE;
    }
}
// 调用测试
Example::func();

预定义常量

PHP给网站内置了很多的预定义常量,这些常量要么来自PHP内核,要么来之各种扩展。
通过get_defined_constants()函数可以获取当前已经定义的所有常量。

预定义常量http://php.net/manual/zh/reserved.constants.php

有几个经常使用但却又不太一样的常量,它们称之为 魔法常量,从本质上来说,它们并不是常量,因为它们的值会改变。

名称 说明
__LINE__ 获取当前所在文件中的行号
__FILE__ 获取当前文件的完整路径
__DIR__ 获取当前文件所在的目录
__FUNCTION__ 获取当前函数的名称,如functionName
__CLASS__ 获取当前类名
__TRAIT__ 获取当前Trait的名称
__METHOD__ 获取类的方法名称,如Class::functionName
__NAMESPACE__ 获取当前命名空间的名称
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 8,362评论 4 97
  • 本节讨论的是字面值常量,而不是const修饰的常量。 类似于1234的整数常量属于int类型,因为默认是int类型...
    dongwenbo阅读 3,047评论 0 2
  • 1.常量的定义 常量的值在编译时就已经确认 常量的定义格式与变量基本相同 等号右侧必须是常量或者常量表达式 常量表...
    MarksGui阅读 1,531评论 0 0
  • PHP中字符串可以使用哪三种定义方法以及各自的区别是什么? 思考考官想考什么PHP中字符串定义方法以及各自的区别 ...
    followyounger1阅读 3,401评论 0 0
  • PHP 学习目录 ├─PHP视频教程 1 LAMP网站构建 │ ├─PHP教程 1.1.1 新版视频形式介绍│ ...
    曹渊说创业阅读 16,255评论 29 417

友情链接更多精彩内容