当前位置: 首页 > news >正文

php基础学习之常量

php常量的基本概念

常量是在程序运行中的一种不可改变的量(数据),常量一旦定义,通常不可改变(用户级别)。


php常量的定义形式

  1. 使用define函数:define("常量名字", 常量值);
  2. 使用const关键字:const 常量名字 = 常量值;//该方法类似C、C++、Java、Python等语法,在php5.3之后才支持

示例:

注意细节——

define和const定义的常量是有一定区别的,在于访问权限的区别。


php常量的命名规则

  1. 不用dollar字符$开头,否则系统会认为是变量
  2. 由字母、数字、下划线三种字符组合,但不允许以数字开头
  3. (人为的)规定通常以大写字母为主,与变量作区分
  4. 命名规则比变量松散,可以使用特殊字符,但使用特殊字符时必须使用define函数定义常量


php常量的访问、使用

和常量一致。

特殊的——如果是用define定义的特殊字符常量名,必须配合constant函数进行输出。


系统常量

系统定义好的常量,可以直接使用。

举例:

PHP VERSION——PHP 版本号

PHP_INT_SIZE——整型大小(32位机器是4,64位机器是8)
PHP_INT_MAX——整型能表示的最大值(32位机器是2^31-1,64位机器是2^63-1)


系统魔术常量

在 PHP 中还有一些特殊的常量,由双下划线开始+长两名+双下划线结束,这种常量称之为系统魔术常量。魔术常量的值通常会跟着环境变化,但是用户改变不了。

举例(除这些外还有很多,后面专门写一篇来记录常用的方便查阅)——

  • __DIR__         //当前被执行的脚本所在电脑的绝对路径
  • __FILE__        //当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
  • __LINE__        //当前所属的行数
  • __NAMESPACE__        //当前所属的命名空间
  • __CLASS__        //当前所属的类
  • __METHOD__        //当前所属的方法

相关文章:

  • Android14源码剖析:MediaPlayer与MediaPlayerService区别?(五十四)
  • [设计模式Java实现附plantuml源码~创建型] 对象的克隆~原型模式
  • 远程ssh 不通的原因之一
  • OpenAI/ChatGPT Plus 支持的虚拟卡有哪些
  • UI自动化测试之Jenkins配置
  • LeetCode 46. 全排列
  • 2023年春秋杯网络安全联赛冬季赛 Writeup
  • UE5 C++ 学习笔记 UBT UHT 和 一些头文件
  • 【数据结构】 链栈的基本操作 (C语言版)
  • openssl3.2/test/certs - 015 - Primary intermediate ca: ca-cert
  • 网络安全概述---笔记总结
  • 【NCRE 二级Java语言程序设计04】二级Java考试应用软件使用
  • c# 释放所有嵌入资源, 到某个本地文件夹
  • iphone5s基带部分电源部分主主电源供电及
  • 【优先级队列 之 堆的实现】
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Android Studio:GIT提交项目到远程仓库
  • ECMAScript入门(七)--Module语法
  • gulp 教程
  • JavaScript新鲜事·第5期
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Logstash 参考指南(目录)
  • Lsb图片隐写
  • mac修复ab及siege安装
  • Otto开发初探——微服务依赖管理新利器
  • React Transition Group -- Transition 组件
  • 爱情 北京女病人
  • 工程优化暨babel升级小记
  • 构造函数(constructor)与原型链(prototype)关系
  • 聊聊redis的数据结构的应用
  • 使用 @font-face
  • 智能合约Solidity教程-事件和日志(一)
  • Java性能优化之JVM GC(垃圾回收机制)
  • #13 yum、编译安装与sed命令的使用
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (1)STL算法之遍历容器
  • (12)Linux 常见的三种进程状态
  • (LeetCode) T14. Longest Common Prefix
  • (力扣题库)跳跃游戏II(c++)
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)c++ std::pair 与 std::make
  • (转)Oracle存储过程编写经验和优化措施
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net MVC + EF搭建学生管理系统
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .net访问oracle数据库性能问题
  • .NET中两种OCR方式对比
  • @Autowired @Resource @Qualifier的区别
  • [AIGC] Redis基础命令集详细介绍