首页 > 编程语言 >PHP常量

PHP常量

时间:2024-11-06 22:18:03浏览次数:8  
标签:const 定义 define 大小写 PHP 常量

·PHP 中的常量是指一旦定义后将不能被改变的标识符。

·常量可以用const和define()来定义。

PHP常量的特性

  • 不变性: 常量一旦定义,其值不能改变。
  • 全局作用域: 常量在定义后,可以在整个脚本的任何地方使用,无需使用 global 关键字。
  • 数据类型: 常量的值可以是标量数据类型(如布尔值、整数、浮点数、字符串)或数组(PHP 7 及以上版本)。
  • 区分大小写: 常量名称默认是区分大小写的。如果需要定义大小写不敏感的常量,可以在 define() 函数的第三个参数设置为 true。

· 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

<?php

// 区分大小写的常量名
define("GOOD", "欢迎来到我的世界");
echo GOOD;    // 输出 "欢迎来到我的世界"

echo '<br>';
echo good;       // 区分大小写,会报红
?>

· 但是只需要在后方加上true,就不会区分大小写, PHP 7.3.0 开始,定义不区分大小写的常量已被弃用。

<?php
// 区分大小写的常量名
define("GOOD", "欢迎来到我的世界",true);

echo good;    // 输出 "欢迎来到我的世界"
echo '<br>';
?>

· 不能使用$符号,否则会获取不到常量

<?php
$GOOD = "变量";
define("GOOD", "欢迎来到我的世界",);

echo $GOOD;         //输出:变量     直接使用常量不能加$符号,加了$符号就等于变成了变量了
echo '<br>';
?>

· 常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

<?php

define("GOOD", "欢迎来到我的世界");

function Test() {
    echo GOOD;
}

Test();    // 输出: 欢迎来到我的世界
?>

结果图:

使用 const 关键字

<?php
const table = "我来自宇宙";
echo table;                 //输出: 我来自宇宙
?>

常量也可以是数组,需要时也是能直接获取的

<?php

define("message",[
    "我是超人",
    "我是李白",
    "我是无极"
]);

echo message[2]; // 输出 "我是无极"
?>
<?php

const message = [

    "我是超人",
    "我是李白",
    "我是无极"

];

echo message[1];        // 输出 "我是李白"
?>

在PHP中,define() 和 const 都用于声明常量,但在使用和定义方式上有一些区别:

一、定义方式:

define(): 这是一个动态函数,允许你在运行时给常量赋值。例如:define('MY_CONSTANT', 'Hello');

const: 是静态声明的,一旦在文件中声明,就不能改变其值。例如:const MY_CONST = 'Hello';

  • 可变性:

define() 的常量可以改变(虽然这不是推荐的做法),但如果是预定义的 const 则不允许修改。

const 的安全性更高,因为它们在编译时就确定了值。

三、使用场景:

define() 更适合那些在程序运行过程中可能需要改变的值,如配置信息。

const 更适合那些在整个脚本生命周期内不变的重要常量,比如数学常数 PI 或 Pi 数字表示。

四、错误处理:

如果尝试修改已定义为 const 的值,会引发错误。

define() 如果尝试赋予不存在的变量名,会在运行时给出提示。

标签:const,定义,define,大小写,PHP,常量
From: https://blog.csdn.net/m0_64315223/article/details/143499519

相关文章

  • PHP常见设计模式应用:单例、工厂、观察者等
    在PHP的开发过程中,设计模式作为一种解决方案,能够帮助开发者简化代码结构、提高系统的可维护性和扩展性。常见的设计模式如单例模式、工厂模式和观察者模式,它们在不同的业务场景下各有其独特的应用价值。单例模式(SingletonPattern)是PHP开发中常用的设计模式之一。它确保一个类只......
  • CTF web新手解题——php反序列化 【ez_ez_unserialize】
    感受最大的就是:作为web新手,应速通并逐渐掌握php语言收获:从此题提高了我对代码的理解力【ez_ez_unserialize】NSSCTF{1ba5d701-3b8a-4a83-965d-7e912ef6f43b}分析存在__wakeup()魔术方法unserialize()会检查是否存在一个__wakeup()方法。如果存在,则会先调用__wakeup......
  • PHP常见性能瓶颈分析与优化策略
    PHP常见性能瓶颈分析与优化策略在现代网站和应用开发中,PHP作为一种广泛使用的服务器端脚本语言,其性能优化至关重要。尽管PHP的易用性和强大的功能受到开发者青睐,但在高并发和大流量的环境下,性能瓶颈常常会影响网站的响应速度和用户体验。本文将分析PHP常见的性能瓶颈,并探讨相应的......
  • c语言中声明数组时, 元素个数必须使用常量表达式
     001、[root@PC1test]#lstest.c[root@PC1test]#cattest.c##测试程序#include<stdio.h>intmain(void){intvar1=5;//初始化一个变量var1intarray1[var1]={3,5,8,4,9};//初始化数组return0;}[......
  • Thinkphp6使用心得以及经验
    先弄出几个必须的习惯要注意1. \tp\app\controller\MathController.php(控制器文件名)和内容中的类名一致2.路由文件中写的真实路径和虚拟路径的关系:   正题快速构建thinkphp6页面需要用到三样controller route view,1.controller+route就的代码就可以实现最......
  • 解决修改php.ini配置文件不生效的问题
    公司禅道研发反馈任务创建的多了就报:Allowedmemorysizeof33554432bytesexhausted(triedtoalloate3643528bytes)inlib/base/front/front.class.phponline1315whenvisiting/index.php?m=execution&f=task&id=28;通过报错即可得知,php的memory_limit默认是32M已......
  • 采用uni-app开发圈子系统源码小程序,含PHP完整后端系统,成品源码部署搭建适用于APP+小程
    采用uni-app开发圈子系统源码小程序,含PHP完整后端系统,成品源码部署搭建适用于APP+小程序+H5兴趣社区交友圈子系统小程序源码搭建开源社区圈子系统圈子社区系统源码多端圈子社区论坛系统 线下活动兴趣圈子交友搭子系统源码即时通信社交圈子系统系统主要基于uniapp前端技术,后......
  • 宝塔面板安装thinkphp运行目录
    配置运行目录修改网站配置:在宝塔面板中,进入“网站”模块,找到你刚刚创建的网站,点击“设置”。在“基本”选项卡中,找到“运行目录”设置。将运行目录设置为 public,即 D:\www\your_domain\public。配置伪静态规则:在“网站设置”页面中,切换到“伪静态”选项卡。选择“......
  • php购物商城在线购物系统php毕业设计php课程设计毕设指导计算机源码获取php源码获取电
    风筝一,功能介绍PHP➕MySQL前台功能:登录:用户可以通过输入用户名和密码进行身份验证,登录成功后进入个人中心页面,享受个性化服务。注册:新用户可以通过填写必要信息(如用户名、密码、邮箱等)完成注册,注册成功后即可登录并开始使用平台服务。轮播图:首页展示一系列动态轮播图,......
  • php招聘系统php毕业设计php兼职网站php源码获取计算机毕业设计源码获取
    一、功能介绍php校园招聘首页,搜索登录/注册/退出岗位列表岗位分类岗位详情:投递简历,评论,热度,收藏,点赞,评论详情个人中心:个人资料,修改密码,我的收藏,我的留言,发布招聘,我的招聘,我的投递,面试通知后台管理修改密码招聘管理:职位管理,分类管理投递管理评论管理用户管理二......