系统常量

系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

如何判定常量是否被定义

如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告,提醒我们该常量已经被定义过。那么,在团队开发,或代码量很大的情况下,我们如何去判定一个常量是否被定义呢?

defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:

bool defined(string constants_name)

它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)

例如:

<?php
define("PI1",3.14);
$p = "PI1";
$is1 = defined($p);
$is2 = defined("PI2");
var_dump($is1);
var_dump($is2);
?>

PHP系统常量及判断某常量是否被定义相关推荐

  1. php定义常量、判断有没有被定义、预定义常量、显示所有常量

    常量一旦被定义,在脚本的其他任何地方都不能被改变,注意:常量名的前面没有$ 语法:define(name,value,case_insensitive ) name:常量名,一般常量名都大写 valu ...

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

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

  3. 读取字符串字符时出错_JVM | 运行时常量池和字符串常量池及intern()

    本文知识点 这一块的知识点,一直都是最为混乱的,网上很多博客有的都自相矛盾,因此,这一块需要深入学习,本文以JDK11为基础,尽量参考官方文档 静态常量池 运行时常量池及字符串的引用 各种String ...

  4. python基础教程:常量 (最全常量解析)

    一.常量 变量是变化的量,常量则是不变的量.python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量.如果非要定义常量,变量名必须全大写. AGE_OF_NICK = 1 ...

  5. php常量变量连接,PHP常量及变量区别原理详解

    常量: 用于储存一个不会变化也不希望变化的数据的标示符(命名规则与变量相同) 定义形式: 使用 define() 函数定义 使用形式:define("常量名" ,常量值) 使用 c ...

  6. [转载] java常量池-字符串常量池、class常量池和运行时常量池

    参考链接: 如何在Java中初始化和比较字符串 原文链接:http://tangxman.github.io/2015/07/27/the-difference-of-java-string-pool ...

  7. java 变量与常量_java变量和常量的区别是什么

    java变量和常量的区别是: 1.在java编码规范中,常量名规定要大写,变量名规定要小写: 2.常量只能赋值一次,变量可以赋值多次: 3.常量在程序运行过程中不能改变,变量可以改变. (视频教程推荐 ...

  8. 彻底理解——指针常量和常量指针、指向常量的常指针

    前言   在汉语中,定语一般都放在中心词的前面,像C语言和C++语言这种技术性语言,更是如此.   所以定语重要还是中心词重要,肯定是中心词重要.   如:美丽的女孩 美丽的是定语 女孩是中心词    ...

  9. 理清C++常量指针和指针常量这团乱麻

    写在前面: 与其说C++中的常量指针和指针常量是一块很有嚼头的语法糖,不如说它是一块相当难啃的骨头.其实本来没什么,这无非是const int *p与int* const p的区别, 但一涉及到起名字 ...

最新文章

  1. Redis消息通知系统的实现
  2. 关于COUNT STOPKEY的工作机制
  3. 12个关键词,告诉你到底什么是机器学习
  4. Python 第三方模块之 numpy.random
  5. ap map 脚本_【图片】fgotool辅助脚本:检测各种素材消耗AP最少的前三个地点【命运冠位指定吧】_百度贴吧...
  6. java 异常返回json_Spring MVC全局异常后返回JSON异常数据
  7. html滚动条怎么置顶,js控制滚动条到最底端(置底)和最顶端(置顶)
  8. 第三章 MongoDb Java应用 3.1
  9. git21天打卡day18-新建远程仓库
  10. windows32位安装MongoDB
  11. pkill mysql_MYSQL之mysqlcheck命令
  12. 《Cisco安全防火墙服务模块(FWSM)解决方案》——2.6 硬件架构
  13. 关于Universal-Image-Loader加载同一张图只成功一张的问题
  14. 计算机与农学论文,农学毕业论文范文
  15. DirectoryEntry 对象
  16. 计算机常用键的作用,键盘功能键大全2017 电脑键盘常用按键功能详解
  17. DSP TMS320F280049C 新征程
  18. 认认真真学习STL之string
  19. 【PIL案例精讲】252行Python代码制作透明背景的电子印章
  20. iOS-自定义手势操作

热门文章

  1. 数据采集中的 全量采集,增量采集,差异采集
  2. mysql管理利器sqlyogent初识(php建立数据库)_MySql管理利器SQLyogEnt初识(php建立数据库)...
  3. vue循环jq渲染网页页面
  4. 非计算机专业二级c语言,2017年计算机二级C语言基本知识
  5. Xmanager 5问题记录
  6. java url参数转map_url参数和map之间的转换
  7. 公关文秘专业要学计算机,2017年公关文秘专业大学排名
  8. (27)python类的定义和使用
  9. JAVA的学习心路历程之JDK基础入门(上)
  10. 谷歌浏览器双击打不开pdf问题