PHP入门基础之常量类型学习笔记

在PHP中的一个常量一旦被定义,就不能再改变或者取消定义;常量有预定义常量(内部常量),和PHP默认定义的常量,当然也可以自定义常量。

以下是其中几个预定义常量:(完整预定义常量,请参阅PHP手册)

TRUE ,该常量是真值(true),为真(成立)。

FALSE ,该常量是伪值(false),为假(不成立)。

PHP_VERSION ,该常量是当前PHP程序的版本号,如 “5.2.17”。

PHP_OS ,该常量是当前执行PHP程序解析器的操作系统名称,如 “Linux”。

DIRECTORY_SEPARATOR ,表示路径分隔符,在Windowns上为“”,Linux上为“/”。

以下是其中几个PHP默认常量:

E_ERROR ,这个常量指到最近的错误处。

E_WARNING ,这个常量指到最近的警告处。

E_PARSE ,这个常量为解析语法有潜在问题处。

E_NOTICE ,这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。

PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

PHP有几个称为“魔术常量”的常量,它们的值随着它们在代码中的位置改变而改变。例如 “__LINE__ ”的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写(但一般作大写),如下

“__LINE__” 文件中该常量所在的行号。

“__FILE__” 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。__FILE__ 还包含了一个绝对路径(如果是符号连接,则是解析后的绝对路径)。

“__DIR__” 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增)

“__FUNCTION__” 函数名称,自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。

“__CLASS__” 类的名称,自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。

“__METHOD__” 类的方法名,返回该方法被定义时的名字(区分大小写)。

“__NAMESPACE__” 当前命名空间的名称(大小写敏感),这个常量是在编译时定义的。

 

当然在程序写作时,以上的默认常量是不够用。define() 的功能可以让我们自行定义所需要的常量。见下例:

1234 <?php define('CONSTANT', '你好!'); echo CONSTANT; ?>
 

常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。

常量默认为大小写敏感,按照惯例常量标识符总是大写的,在脚本执行期间该值不能改变。

定义常量和定义变量的区别:

常量前面没有美元符号($)
常量只能用 define() 函数定义,而不能通过赋值语句
常量可以不用理会变量范围的规则而在任何地方定义和访问
常量一旦定义就不能被重新定义或者取消定义
常量的值只能是标量

时间: 2024-10-01 13:52:07

PHP入门基础之常量类型学习笔记的相关文章

JavaScript中的Number数字类型学习笔记_基础知识

使用IEEE754格式来表示整数和浮点数值.浮点数值:该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字.浮点数值需要内存空间是保存整数值的两倍.最高精度是17为小数,但在进行算术运算时其精度远远不如整数. 各种数值类型:十进制,八进制(在严格模式下无效),十六进制 八进制字面量的第一位必须是0,然后是八进制数字序列(0~7).如果字面值中的数值超出了范围,那么前导0将被忽略,后面的数值将被当做十进制数来解析 070//56 079//79 十六进制字面值的前两位必须是0x,后跟十六进

C++ 基本类型学习笔记

C++的基本类型分为两种:一组由存储为整数的值组成,另一组由存储为浮点格式的值组成. C++算术类型的最小存储空间类型+含义+最小存储空间如下: bool 布尔型 char 字符型 8位 wchar_t 宽字符型 16位 short 短整型 16位 int 整形 16位 long 长整形 32位 float 单精度浮点型 6为有效数字 double 双精度浮点型 10位有效数字 long double 扩展精度浮点型 10位有效数字 整型 整形可分为:char.short.int.long.lo

Lua table类型学习笔记_Lua

关系表类型,这是一个很强大的类型.我们可以把这个类型看作是一个数组.只是 C语言的数组,只能用正整数来作索引: 在Lua中,你可以用任意类型的值来作数组的索引,但这个值不能是 nil.同样,在C语言中,数组的内容只允许一种类型:在 Lua中,你也可以用任意类型的值来作数组的内容,nil也可以. 基本介绍 注意三点: 第一,所有元素之间,总是用逗号 "," 隔开: 第二,所有索引值都需要用 "["和"]" 括起来:如果是字符串,还可以去掉引号和中括

C++ 复合类型学习笔记

复合类型是基于整形和浮点型创建的.影响最为深远的复合类型是类. 1.数组 数组是一种数据格式,能够存储多个同类型的值. typeName arrayName[arraySize] int months[12] = {1, 2, 3};其他元素将设置为0 char name[4] = {'p', 'i', 'g', '\0'}; 不能将一个数组赋值给另一个数组. 2.字符串 存储在内存的连续字节中的一系列字符.C++处理字符串的方式有两种.一种来自C语言,常被称为C-风格字符串,另一种基于stri

Java容器类型学习笔记

最近抽空把java.lang下面常用的那些容器类型(数据结构)复习了一下,这些东西是基础,平时使用的时候也可以很容易查得到,有些方法大概知道,但是总是弄混,如果可以记住那些重要方法,并且能够熟练使用的话,还是可以让编码过程变得容易很多.另外一个是实现机制,对于常用数据结构的实现机制,应该说是必须要熟知的. 另外,并发容器我之前整理过,放在这篇文章里. Queue add和offer的区别在于达到上限时add抛出异常,offer返回false: remove和poll的区别在于,队列为空时前者抛出

Redis String 类型和 Hash 类型学习笔记与总结_Redis

Linux 版本信息: 复制代码 代码如下: cat /etc/issue  或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息) CentOS release 6.6 (Final) (一)String 类型 [定义]string 是最简单的类型,你可以理解成与 Memcached 是一模一样的类型,一个 key 对应一个 value,其上支持的操作与 Memcached 的操作类似.但它的功能更丰富. string 类型是二进制安全的.意思是 redi

Swift中内置的集合类型学习笔记_Swift

一.引言 Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型.Array用于存放一组有序的数据,数据角标从0开始一次递增:Set用于存放一组无序的数据,数据不可以重复:Dictionary也用于存放一组无序的数据,只是其是按照键值对的方式存储,键值必须唯一.这里借用官方文档中的一张图来表示3种集合类型的特点: 二.Array类型 Array通常也被称为数组,Swift是一种类型安全语言,其中的Array类型也必须确定其元素的类型,声明数组类型有两种方

Redis list 类型学习笔记与总结_Redis

redis 版本 复制代码 代码如下: [root@localhost ~]# redis-server --version Redis server v=2.8.19 sha=00000000:0 malloc=jemalloc-3.6.0 bits=32 build=e2559761bd460ca0 list 是一个链表结构,主要功能是 push(类似 PHP 的 array_push() 方法). pop(类似 PHP 的 array_pop() 方法).获取一个范围的所有值 等, 操作

php入门教程之字符串函数学习笔记(1/3)

PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用.PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数. 探讨如何实现PHP判断字符串是否为IP 深入探讨PHP自动获取关键词的具体方法 PHP字符串函数的分类总结 分享PHP函数require()的具体使用技巧 PHP重定向网页的具体实现方法介绍 下面介绍PHP判断字符串的包含的具体使用方法: 1. strstr: