##PHP常量简介

常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量默认大小写敏感。通常常量标识符总是大写的。

可以用define()函数来定义常量。在php5.3.0以后,可以使用const关键字在类定义的外部定义常量,先前版本const关键字只能在类(class)中使用。一个常量一旦被定义,就不能再改变或取消定义。

常量只能包含标量数据(boolean、integer、float和string)。可以定义resource常量,但应尽量避免,因为会造成不可预料的结果。

可以简单的通过指定其名字来获得常量的值,与变量不同,不应该在常量的前面加上$符号。如果常量名是动态的,也可以用函数constant()来获取常量的值。用get_defined_contstants()可以获得所有已定义的常量列表。

常量和变量有如下不同:

1、常量前面没有美元符号($)

2、常量只能通过const关键字、define()函数定义,而不能通过赋值语句

3、常量可以不用理会变量的作用域在任何地方定义和访问

4、常量一旦定义就不能重新定义或取消定义

5、常量的值只能是标量(php5.6以后可以使用const定义数组常量)

##常量的定义和使用

const USERNAME = 'fxhover';

echo USERNAME;

echo constant("USERNAME"); //constant获取已定义常量的值

define('EMAIL','fxhover@qq.com');

var_dump(get_defined_constants()); //get_defined_constants()获取已定义的常量列表

class A{

const STATUS_1 = 10;

public function test(){

echo self::STATUS_1;

}

}

echo A::STATUS_1;

$a = new A;

$a->test();

##const和define的区别

使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。

1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。

2、const可在类中使用,define不能

3、const不能再条件语句中定义常量

if (...){

const FOO = 'BAR'; // 无效的invalid

}

if (...) {

define('FOO', 'BAR'); // 有效的valid

}

4、const采用普通的常量名称,define可以采用表达式作为名称

const FOO = 'BAR';

for ($i = 0; $i < 32; ++$i) {

define('BIT_' . $i, 1 << $i);

}

5、const只能接受静态的标量,而define可以采用任何表达式

const BIT_5 = 1 << 5; // 无效的invalid

define('BIT_5', 1 << 5); // 有效的valid

6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。

define('FOO', 'BAR', true);

echo FOO; // BAR

echo foo; // BAR

php使用常量cont,php常量介绍相关推荐

  1. Go 学习笔记(7)— 常量定义、常量使用、枚举用法、iota 常量、不设置初始值常量

    1. 常量定义及分类 1.1 定义 常量是指在程序运行时,不会被修改的量. 常量中的数据类型只可以是布尔型.数字型(整数型.浮点型和复数)和字符串型. 常量的定义格式: const identifie ...

  2. 常引用、常量指针、指针常量、指向常量的常指针、空指针与野指针解释

    1.一.基础知识 引用并非对象 引用必须初始化 引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起 类型要严格匹配 int &a = 10; //错误:引用类型的初始值必须是 ...

  3. php定义常量和静态常量的区别,php静态变量与自定义常量的区别实例详解

    php 静态变量与自定义常量的使用方法 ⚑ 静态变量的声明与使用 ⚑ 自定义常量的使用方式 什么是静态变量? 静态变量是指用static声明的变量,这种变量与局部变量的区别是,当静态变量离开了它的作用 ...

  4. java常量信用_JAVA常量

    一.常量定义的基本注意事项. 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量.当常量被设定后,一般情况下就不允许再进行更改.如可以利用如下的形式来定 ...

  5. 【Java 虚拟机原理】Class 字节码二进制文件分析 二 ( 常量池位置 | 常量池结构 | tag | info[] | 完整分析字节码文件中的常量池二进制数据 )

    文章目录 前言 一.常量池结构分析 1.常量池位置 2.常量池结构 3.常量池单个常量 4.常量池单个常量 tag 标签 二.常量池字节码文件分析 0.常量池附加信息 1.常量池 #1 常量分析 2. ...

  6. const常量和readonly常量区别

    1.const常量为静态常量:readonly常量为动态常量: 2.const常量在编译时值被确定,在运行时值为编译时值:readonly常量,在编译时为类型的默认值(非指定的默认值),在运行时值被确 ...

  7. c++语言常量,Go语言常量和const关键字

    Go语言中的常量使用关键字 const 定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型.数字型(整数型.浮点型和复数)和字符串型.由于编译时的限制, ...

  8. java 常量pi_JAVA的常量

    常量 1.1常量和变量对比 常量:只能赋值一次,赋值完毕以后就无法再次赋值了. 变量:可以重复多次执行赋值操作. 1.2固定值常量 整数常量:10, 20, .... 小数常量:123.45, 3.1 ...

  9. Kotlin实战指南二:变量、常量、静态常量

    转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87811333 本文出自[赵彦军的博客] Kotlin初体验二:变量.常量.静态常 ...

最新文章

  1. 【OpenCV 4开发详解】可分离滤波
  2. django 内置 admin
  3. 我国大型数据中心占比已达12.7%,大而不强成制约因素
  4. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第二题:骰子迷题
  5. .NET Conf 2019 大会上发布.NET Core 3.0
  6. 从响应式Spring Data存储库流式传输实时更新
  7. 国外PHP学习网站书籍资料汇总
  8. 【静态站点(二)】之 Gridsome 基础
  9. Android蓝牙通信功能开发
  10. Facebook开发地面技术扩大互联网连接
  11. qt文件复制不成功问题
  12. 矩阵快速幂 超详细介绍
  13. Win11修改用户名(超详细图文)
  14. GEO数据挖掘(学习笔记)
  15. 对比企业邮箱服务的好处
  16. 制作ios描述文件绿签+自定义描述+隐藏网址+防跳浏览器
  17. js红宝石书第四版--P446有点不严谨的地方的指出
  18. MacBookPro使用分享及软件推荐
  19. STATA regress回归结果分析
  20. 变分(Calculus of variations)的概念及运算规则(一)

热门文章

  1. 11-windows下卸载Orcale
  2. python连接mysql用哪个模块_pymysql模块使用---Python连接MySQL数据库
  3. 基础强化:深入理解JVM中的方法调用
  4. Flask模板参数传值的方法
  5. 12最后一个正式版_玩机体验:iOS14.3正式版更新了哪些内容,是否值得升级?
  6. JVM学习-垃圾回收基础
  7. XML fragments parsed from previous mappers already contains value for xxxxx
  8. Vue的过滤器,生命周期的钩子函数和使用Vue-router
  9. 分布式监控系统开发【day38】:监控trigger表结构设计(一)
  10. 【复习资料】编译原理中:短语,直接短语,句柄