PHP 中常量的知识整理

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

常量特点:

  1. 在设定以后,常量的值无法更改
  2. 常量名不需要开头的美元符号 ($)
  3. 作用域不影响对常量的访问
  4. 常量值只能是字符串或数字

获取常量的值:

  • 使用常量名直接获取值;
  • 使用 ==constant()== 函数,它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便。

defined() 函数:判断一个常量是否已经定义

define("PI",3.14);

$is1 = defined('PI');
$is2 = defined('PI1');

var_dump($is1); // boolean true
var_dump($is2); // boolean false

1. 自定义常量

在 PHP 中,用 ==define()== 函数定义一个常量

define("PI",3.14);
echo constant('PI');

define("GREETING","Hello world!",TRUE);
echo constant('greeting');

2. 系统常量

常见的系统常量有:

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

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

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

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

echo __FILE__; // E:\Web\Project\_wamp\demo.php
echo __LINE__; // 3
echo PHP_VERSION; // 5.6.25
echo PHP_OS; // WINNT

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • php魔法函数与魔法常量使用介绍

    php 魔术函数 1.__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__destruct() 当删除一个对象或对象操作终止时被调用. 3.__call() 对象调用某个方法, 若方法存在,则直接调用: 若不存在,则会去调用__call函数. 4.__get() 读取一个对象的属性时, 若属性存在,则直接返回属性值: 若不存在,则会调用__get函数. 5.__set() 设置一个对

  • php的常量和变量实例详解

    php的常量和变量实例详解 [PHP在命令行下接收参数] 如果在命令行调试php,传入的参数通过$argv获取,注意其中包含了文件名这一个元素,数组中元素的个数通过$argc获取. [可变变量] 指的是变量的名称可变,变量的标识符可以由另一个变量的值来代替. 例如:第二个语句是为argv1这个变量赋值. <?php $varName = 'argv1'; $$varName = 'value1'; var_dump($argv1); ?> [常量] 使用define定义,不可删除和修改,调用时

  • PHP中类型转换 ,常量,系统常量,魔术常量的详解

    PHP中类型转换 ,常量,系统常量,魔术常量的详解 1.自动类型转换; 在运算和判断时,会进行自动类型转换; 1)其他类型转为bool,判断时转换; 1)整型转布尔型:0转false,非0转为true: 2) 空字符串和'0'("0")转为false,其他转为true; 3) 空数组转为false, 非空数组则转为true; 4) null转为false 5) 资源打开不成功为false 是0或空,打开不成功的转为'false','0'; 2)其他类型转为字符串(字符串拼接); nul

  • PHP 中魔术常量的实例详解

    PHP 中魔术常量的实例详解 本文介绍下,php编程中的魔术常量,掌握并灵活应用这些方法与常量,对于提高php的编程水平,有很大的帮助.有需要的朋友参考学习下. 魔术常量: namespace ns1; class Test { function __construct() { var_dump(__LINE__); var_dump(__FILE__); var_dump(__DIR__); var_dump(__FUNCTION__); var_dump(__CLASS__); var_du

  • php 魔术常量详解及实例代码

    php 魔术常量详解 实例: class MoShu{ public function moshu() { echo '当前类名:' . __CLASS__ . "<br />"; echo '当前方法名:' . __FUNCTION__ . "<br />"; echo '当前文件中所在的行数:' . __LINE__ . "<br />"; echo '当前文件绝对路径:' . __FILE__ . &qu

  • PHP的魔术常量__METHOD__简介

    __METHOD__ 是PHP5之后新增的魔术常量,表示的是类文法的名称.魔术常量是一种PHP预定义常量,它的值可以是变化的,PHP中的其它已经存在的魔术常量有__LINE__.__FILE__.__FUNCTION__.__CLASS__等. 下面就用一小段代码来演示一下__METHOD__的用法. <?php class chhua{ function test(){ echo __METHOD__; } } $e=new chhua(); $e->test();//输出:chhua::t

  • php常量详细解析

    一.常量 常量是一个简单值的标识符(名字).如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量).常量默认为大小写敏感.按照惯例常量标识符总是大写的. 常量名和其它任何 PHP 标签遵循同样的命名规则.合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线.用正则表达式是这样表达的: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* (注: 在这里,字母是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的

  • PHP 中常量的知识整理

    PHP中的常量分为自定义常量和系统常量 常量特点: 在设定以后,常量的值无法更改 常量名不需要开头的美元符号 ($) 作用域不影响对常量的访问 常量值只能是字符串或数字 获取常量的值: 使用常量名直接获取值: 使用 ==constant()== 函数,它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活.方便. defined() 函数:判断一个常量是否已经定义 define("PI",3.14); $is1 = defined('PI'); $is2

  • python中的编码知识整理汇总

    问题 在平时工作中,遇到了这样的错误: UnicodeDecodeError: 'ascii' codec can't decode byte 想必大家也都碰到过,很常见 .于是决定对python的编码做一个整理和学习. 基础知识 在python2.x中,有两种数据类型,unicode和str,这两个都是basestring的子类 >>> a = '中' >>> type(a) <type 'str'> >>> isinstance(a,b

  • Java中jqGrid 学习笔记整理——进阶篇(二)

    相关阅读: Java中jqGrid 学习笔记整理--进阶篇(一) 本篇开始正式与后台(java语言)进行数据交互,使用的平台为 JDK:java 1.8.0_71 myEclisp 2015 Stable 2.0 Apache Tomcat-8.0.30 Mysql 5.7 Navicat for mysql 11.2.5(mysql数据库管理工具) 一.数据库部分 1.创建数据库 使用Navicat for mysql创建数据库(使用其他工具或直接使用命令行暂不介绍) 2. 2.创建表 双击打

  • C语言逻辑运算符知识整理

    在高中数学中,我们学过逻辑运算,例如p为真命题,q就假命题,那么"p且q"为假,"p或q"为真,"非q"为真. 在C语言中,也有类似的逻辑运算: 运算符 说明 结合性 举例 && 与运算,双目,对应数学中的"且" 左结合 1&&0.(9>3)&&(b>a) || 或运算,双目 左结合 1||0.(9>3)||(b>a) ! 非运算.单目 右结合 !a.!(

  • asp知识整理笔记4(问答模式)

    继前几篇篇<asp知识整理笔记1>和<asp知识整理笔记2>,<asp知识整理笔记3>新鲜出炉: 23.问题:在ASP文件中读取HTML的表单字段有几种方法? 答:Request对象除了可以用来读取附带在网址后面的参数以外,也可以读取HTML表单字段的内容,经常使用的语法结构如下: < Form name =Formname method="Get|Post"Action="URL">< Form > 其中

  • asp知识整理笔记3(问答模式)

    继上两篇<asp知识整理笔记1>和<asp知识整理笔记2>,<asp知识整理笔记3>新鲜出炉: 17.问题:在ASP中使用ADO的AddNew方法和直接使用"Insert into..."语句有何不同?哪种方式更好? 答:ADO的AddNew方法只是将"Insert into "语句封装了起来,所以,当对大量数据进行操作的时候,直接使用SQL语句将会大大加快存取数据的速度,因为它减少了ADO的"翻译"时间,由于

  • js事件(Event)知识整理

    鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemove 如果按下鼠标上的设备(左键,右键,滚轮--),则触发mousedown 当设备弹起的时候触发mouseup 目标元素的滚动条发生移动时(滚动滚轮/拖动滚动条..)触发scroll 滚动滚轮触发mousewheel,这个要区别于scroll 鼠标移出元素的那一刻,触发mouseout 事件注册 平常我们绑定事件的时候用dom.onxxxx=function(){}的形式

  • Java并发编程之死锁相关知识整理

    一.什么是死锁 所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进 二.死锁产生的条件 以下将介绍死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁 互斥条件 进程要求对所分配的资源(如打印机〉进行排他性控制,即在一段时间内某资源仅为一个进程所占有.此时若有其他进程请求该资源,则请求进程只能等待 不可剥夺条件 进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放(只能

  • Docker管理之碎片知识整理小结

    目录 一.概述 二.应用示例 2.1.Docker容器隔离之Namespace 2.2.Docker之自由限制cgroup 2.3.给运行中的容器设置端口映射 2.4.修改运行中docker容器中的内容 2.5.Docker容器迁移到其他服务器 2.6.查看docker镜像中文件 2.7.运行容器:docker run常用选项 一.概述 本文旨在汇总整理Docker日常管理之知识碎片,以便日后回顾查看参考. 二.应用示例 2.1.Docker容器隔离之Namespace Namespace:是容

  • Java中的循环笔记整理(必看篇)

    一.循环的类型: 1.for循环 class For{ public static void main(String[] args) { System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); Sy

随机推荐