什么是常量

什么是常量?

常量可以理解为值不变的量(如圆周率);或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。

PHP中的常量分为自定义常量和系统常量。

自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义。

注:函数,我们可以理解为一个混凝土搅拌机,亦或是一个筛子,通过入口提供原料,然后出口产出结果,在函数中也允许入口不提供任何数据,出口也允许不返回任何值。

define()函数的语法格式为:bool define(string $constant_name, mixed $value[, $case_sensitive = true])

它有3个参数(也就是原料):

第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。

第二个参数“value”为必选参数,它是常量的值。

第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。

(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)

常量的作用

常量有什么用呢?

常量主要功效是可以避免重复定义,篡改变量值。

在我们进行团队开发时,或者代码量很大的时候,对于一些第一次定义后不改变的量,如果我们使用变量,在不知情的情况下,使用同一变量名时,变量值就会被替换掉,从而会引发服务器执行错误的任务。

此外,使用常量还能提高代码的可维护性。

如果由于某些原因,常量的值需要变更时候,我们只需要修改一个地方。

例如在做计算中,起初我们取圆周率为3.14,于是很多计算中我们都使用3.14进行计算,当要求计算精度提高,圆周率需要取3.142的时候,我们不得不修改所有使用3.14的代码,倘若代码量比较多时,不仅工作量大,还可能遗漏。

系统常量

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

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

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

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

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

常量如何取值

定义了常量,那么就要使用常量,那么如何获取常量值呢?

获取常量值的有两种方法取值:

第一种是使用常量名直接获取值;

例如计算圆周率的面积,如下(“*”是运算符,相当于乘号,后面部分的小节会介绍):<?php

define("PI",3.14);

$r=1;

$area = PI*$r*$r; //计算圆的面积

?>

第二种是使用constant()函数。

它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,

其语法格式如下:mixed constant(string constant_name)

第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。

如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)

例如:

如何判定常量是否被定义

如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告,提醒我们该常量已经被定义过。

那么,在团队开发,或代码量很大的情况下,我们如何去判定一个常量是否被定义呢?

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

bool defined(string constants_name)

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

php+代码行数常量,php - 常量相关推荐

  1. python 代码行数统计工具_使用Python设计一个代码统计工具

    问题 设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行数.尽量设计灵活一点可以通过输入不同参数来统计不同语言的项目,例如: # type用于指定文件类型 pytho ...

  2. git 查看修改的代码行数,新增的文件以及删除的代码行数

    有时候想知道提交的代码修改了哪些文件,以及新增和删除的代码行数 git 命令: git log --stat

  3. Git统计个人提交代码行数

    1. Git统计个人提交代码行数 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t" ...

  4. 如何用bat文件快速计算项目代码行数

    在项目文件夹根目录新建一个txt文档,把下面的代码复制到txt文档里面,然后txt的后缀名改为bat,双击这个文件即可 REM 放到项目根目录双击获取代码总行数.bat @echo off for / ...

  5. 统计java文件中的代码行数

    统计Java代码行数工具类  --  CodeCounterUtil.java 统计指定目录下的java文件中代码行数  --  public static int  getCodeNumFromFo ...

  6. Android Studio查看代码行数和删除注释空行等

    在Android Studio中: 一.删除行注释 1.ctrl+r,打开替换功能.出现下图: 2.操作如图: 3.单击上图中的第4步替换之后,我示例程序中的那个黄色注释就没了,如果想要把所有行注释都 ...

  7. visual studio统计代码行数

    在vs菜单栏下面提供了代码分析工具,运用此工具能够分析出项目IL中间语言信息. 如果统计实际代码行数,可以通过搜索文件正则过滤. 正则表达式^(?([^\r\n])\s)*[^\s+?/]+[^\n] ...

  8. eclipse中统计代码行数

    在eclipse中, 打开File Search对话框,  选中正则表达式,在搜索文本框输入 \n  文件名称输入 *.java  在范围里选中Enclosing projects  然后就可以统计出 ...

  9. webstorm代码行数统计_10万行代码10万年薪,利用python查看自己写了多少代码

    十万代码,十万年薪!看看学习了这么久的你到底敲了多少代码吧! 这次我们运用到的是python 的os库 所谓os库就是Python标准库,包含几百个函数分为路径操作.进程管理.环境参数等几类,而我们今 ...

  10. 使用Eclipse可以方便的统计工程或文件的代码行数,

    使用Eclipse可以方便的统计工程或文件的代码行数,方法如下: 1.点击要统计的项目或许文件夹,在菜单栏点击Search,然后点击File... 2.选中正则表达式(Regular expressi ...

最新文章

  1. python重命名文件pycharm_Python中批量修改变量名太费劲?Pycharm中使用重命名一次搞定...
  2. ubuntu 串口转usb使用
  3. Servlet中乱码问题
  4. Sonya and Queries CodeForces - 714C
  5. Android 6.0 超级简单的权限申请2 (Permission)
  6. Codeforces Round #177 (Div. 1)C. Polo the Penguin and XOR operation【贪心】
  7. keilc error C183: unmodifiable lvalue (编程时要注意啦)
  8. 现代信号处理 张贤达_清华信号处理著名学者张贤达去世,享年74岁
  9. 热力图怎么做_LncRNA这么热,5分左右的LncRNA研究文章应该怎么做
  10. 在C / C ++中使用INT_MAX和INT_MIN
  11. Java 获取汉字拼音的方法
  12. VMware密钥激活
  13. 题2.pta数据结构题集-File Transfer (25分)
  14. 算法分析与设计实验报告一——分治算法
  15. Mobilenet-ssd 目标检测
  16. WOW战斗逻辑系统分析
  17. 9020cdn更换墨粉_感动常在!佳能ts9020打印机更换墨盒经验
  18. 信息系统与信息化、信息系统开发方法、常规信息系统集成技术
  19. 厚积薄发-Aspects
  20. unittest数据驱动之DDT

热门文章

  1. 【英语】大学英语CET考试,口语部分2(课程笔记)
  2. 积分体系运营中,积分兑换比例设计切实可行的两个建议
  3. 中国新能源物流车市场运营状况分析与投资战略规划报告2022年版
  4. AnyCast技术浅析
  5. Python如何比较两张图片的相似度
  6. 哈夫曼树带权路径长度c语言,【哈夫曼树】求结点的哈夫曼的带权路径长度
  7. touch事件中的touches、targetTouches和changedTouches详解(转)
  8. PostgreSQL批量生成测试数据
  9. watch watch watch the video! I got almost addicted. Oh what a fuck!!!!
  10. Css高度自适应上下居中方式