PHP8的常量-PHP8知识详解

news2024/11/16 10:39:01

常量和变量是构成PHP程序的基础,在PHP8中常量的这一节中,主要讲到了定义常量和预定义常量两大知识点。

Image

一、定义常量

 定义常量也叫声明常量。在PHP8中,常量就是一个标识符(名字),一旦定义(声明),就无法改变。                                                                       
在PHP8中,使用define()函数来定义常量,语法格式如下:

define("常量名","常量值");

常量名是一个字符串,在PHP编码规范的指导下,使用大写的英文字符来表示。如:NAME、CLASS_NAME等。

常量值也可以为表达式,可以是多种PHP数据类型,如数组,对象,字符、数字等。

常量和变量一样,储存数值,但是,与变量不同的是,常量的值只能定义一次,无论在代码的任何位置,它都不能被改动。

常量被定义(声明)后具有全局性,函数内外都能被访问。

定义完常量以后,使用常量名,可以直接获取常量值,如:

<?php
define("YUYAN","我正在学习PHP8语言");  // 定义常量:YUYAN
echo YUYAN;    // 输出常量:YUYAN
echo "<br>";   // 输出换行
echo yuyan;    // 输出常量:yuyan,输出错误提示,因为常量区分大小写。
?>

程序运行结果如下:

Image

二、预定义常量

PHP8的预定义常量是指在PHP8语言内部,预先定义好的一些常量。在PHP8中预定义了很多的系统内置常量,这些常量可以被随时调用。下面PHP服务网列举一些PHP8中的预定义常量:

1、__FILE__:  默认常量,是指PHP程序文件名及路径。

2、__LINE__: 默认常量,是指PHP程序的行数。

3、PHP_VERSION:内建常量,是指PHP程序的版本。如:8.0.0

4、PHP_OS: 内建常量,是指PHP解析器的操作系统的名称。如:Windows

5、TRUE: 是指真值(true)。

6、FALSE: 是指假指(false)。

7、NULL: 是指空值(null)。

8、E_ERROR: 是指最近的错误之处。

9、E_WARNING: 是指最近的警告之处。

10、E_PARSE: 是指解析语法时的错误之处。

11、E_NOTICE: 是指发生的异常提示,但不一定是错误:。

PHP服务网温馨提醒你:“__FILE__”和“__LINE__”中的“__”是两条下划线。而不是一条下划线。

当然上面列表出来的仅仅是常用的预定义常量,实际上,PHP8的预定义常量是有很多的。比如:

数组预定义常量有:CASE_UPPERR、SORT_ASC、EXTR_PREFIX_ALL等。

phpinfo常量有:INFO_GENERAL、INFO_VARIABLES、INFO_LICENSE、INFO_ALL等。

INI 常量有:INI_USER、INI_PERDIR、INI_SYSTEM、INI_ALL等。

断言常量有:ASSERT_ACTIVE、ASSERT_CALLBACK、ASSERT_BAIL等。

预定义常量太多了,我就不一一的列出来了,下面再来一个简单实例:

<?php
echo "当前文件路径:".__FILE__;  // 输出当前文件路径
echo "<br>当前行数:".__LINE__;  // 输出当前行数
echo "<br>当前PHP版本:".PHP_VERSION;  // 输出当前PHP版本
echo "<br>当前操作系统:".PHP_OS;  // 输出当前操作系统
?>

运行结果如下:

Image

到此为止,在PHP8中的定义常量和预定义常量就讲解完毕了,如果还有疑问的可以给我留言哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/817979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ansible-playbook编写 lnmp 剧本

ansible-playbook编写 lnmp 剧本 vim /opt/lnmp/lnmp.yaml执行剧本 ansible-playbook lnmp.yaml

WebDAV之π-Disk派盘 + DEVONthink

DEVONthink是由一家来自德国的老牌软件开发商发布的「知识管理」软件,运行于 Mac/iOS 平台。官方自己定位为全方位(中文环境下略有遗憾)帮助你实现知识管理,可以称之为“模块级”应用了。 DEVONthink还支持各种云服务同步,文件管理您的终极文件管理应用、文件、图片与连接远…

Android Ble蓝牙App(一)扫描

Ble蓝牙App&#xff08;一&#xff09;扫描 前言正文一、基本配置二、扫描准备三、扫描页面① 增加UI布局② 点击监听③ 扫描处理④ 广播处理 四、权限处理五、扫描结果① 列表适配器② 扫描结果处理③ 接收结果 六、源码 前言 关于低功耗的蓝牙介绍我已经做过很多了&#xff0…

基于SHARC+®单核的ADSP-21567KBCZ6、ADSP-21566BBCZ4、ADSP-21566KBCZ4高性能DSP处理器产品

ADSP-2156x 处理器的速度高达 1 GHz&#xff0c;属于 SHARC 系列产品。ADSP-2156x 处理器基于 SHARC 单核。ADSP-2156x SHARC 处理器是 SIMD SHARC 系列数字信号处理器 (DSP) 中的一款产品&#xff0c;采用 ADI 的超级哈佛架构。这些 32 位/40 位/64 位浮点处理器已针对高性能音…

Practice3|922. 按奇偶排序数组 II、143. 重排链表

922. 按奇偶排序数组 II 1.题目&#xff1a; 给定一个非负整数数组 nums&#xff0c; nums 中一半整数是 奇数 &#xff0c;一半整数是 偶数 。 对数组进行排序&#xff0c;以便当 nums[i] 为奇数时&#xff0c;i 也是 奇数 &#xff1b;当 nums[i] 为偶数时&#xff0c; i…

将临时表的所有数据添加到另一张表的某个字段

临时表 目标表 SmsCatagory smsCatagory new SmsCatagory(); smsCatagory.setGasStationId(); smsCatagory.setType(); ...... sendTaskService.batchInsertByTemp(smsCatagory);xml&#xff1a; <insert id"batchInsertByTemp">INSERT INTO cs_sms_cata…

[每日习题]进制转换 参数解析——牛客习题

hello,大家好&#xff0c;这里是bang___bang_&#xff0c;本篇记录2道牛客习题&#xff0c;进制转换&#xff08;简单&#xff09;&#xff0c;参数解析&#xff08;中等&#xff09;&#xff0c;如有需要&#xff0c;希望能有所帮助&#xff01; 目录 1️⃣进制转换 2️⃣参…

safe敏捷项目管理,safe框架简介

一、SAFe简介 SAFe是ScaledAgile Framework的简称&#xff0c;由DeanLeffingwell创建&#xff0c;SAFe&#xff08;Scaled Agile Framework&#xff09;是全球运用最广泛的大规模敏捷框架。 SAFe融合了精益、敏捷和DevOps&#xff0c;它是一个知识库&#xff0c;囊括了大量已…

【面试】某公司记录一次面试题

文章目录 框架类1. Spring boot与 spring 架相比&#xff0c;好在哪里?2. Spring boot以及 Spring MVC 常用注解(如requestingMapping&#xff0c;responseBody 等)3. 常用的java 设计模式&#xff0c;spring 中用到哪些设计模式4. SpringIOC是什么&#xff0c;如何理解5. AOP…

v-model绑定checkbox无法动态更新视图

在vue2中使用v-model绑定checkbox <input type"checkbox" v-model"isChecked" :valueisChecked change"handleCheckboxChange" />监听change事件&#xff0c;并在change事件中做一些特殊处理&#xff0c;比如用户在登录时有没有阅读过隐私…

C语言文件io操作

一、fopen 在C语言中&#xff0c;操作文件之前应该先打开文件。使用<stdio.h>头文件中的fopen()函数可以打开文件&#xff0c;因为FILE也是结构体&#xff0c;我们通过返回一个文件指针就可以对文件进行操作。在用完fopen之后要记得关闭该文件流。 用法&#xff1a; F…

小目标检测(3)——msgqueue多线程通信和多线程互斥编程

文章目录 引言正文代码的执行和线程使用std::mutex进行编程mutex基本用法std::lock_guard的使用std::unique_lock的使用 condition_variable的使用wait函数的使用condition_variable的整体代码 多线程编程的基本语句 总结引用 引言 在学习老师给的目标检测的代码过程中&#xf…

红队攻防 | 解决HW被疯狂封IP姿势~(附下载)

本项目其实就是个简单的代理服务器&#xff0c;经过小小的修改。加了个代理池进来。渗透、爬虫的时候很容易就会把自己ip给ban了&#xff0c;所以就需要ip代理池了。 ProxyPool 爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库&#xff0c;定时验证入库的代理…

排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、计数排序)

&#x1f355;博客主页&#xff1a;️自信不孤单 &#x1f36c;文章专栏&#xff1a;数据结构与算法 &#x1f35a;代码仓库&#xff1a;破浪晓梦 &#x1f36d;欢迎关注&#xff1a;欢迎大家点赞收藏关注 文章目录 &#x1f353;冒泡排序概念算法步骤动图演示代码 &#x1f34…

ED透明屏有哪些应用场景?

ED透明屏是一种新型的显示技术&#xff0c;它采用了电致变色技术&#xff0c;可以实现屏幕的透明显示。ED透明屏的出现&#xff0c;为我们的生活带来了许多便利和创新。 首先&#xff0c;ED透明屏可以应用于商业广告领域。 传统的广告牌往往是固定的&#xff0c;无法改变内容&…

浅入浅出MySQL事务

什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元。 事务的逻辑单元中可以是一条SQL语句&#xff0c;也可以是一段SQL逻辑&#xff0c;这段逻辑要么全部执行成功&#xff0c;要么全部执行失败。 事务处理的基本原则是“原子性”、“一致性”、“隔离性”和…

vue 修改端口号

在根目录创建一个vue.config.js文件夹 module.exports {lintOnSave: false,devServer: {port: 3000,open: true} }运行后

降压IC 外置MOS DC48V转24V 3A 30V-80V转24V 3A 高压大功率

摘要&#xff1a;本文介绍了AH8A50QA降压IC外置MOS芯片方案&#xff0c;可将输入电压范围从30V至80V和9V至100V转换为24V输出&#xff0c;并提供最大3A的输出电流。该芯片方案采用了内置MOS管和QFN-20封装&#xff0c;适用于电动车和汽车车载充电源等高压大功率应用场景。 随着…

Cpp6 — 模板

模板&#xff1a;这里有一个概念&#xff1a;泛型编程---针对广泛的类型去写代码编程。之前都是针对具体的类型进行编程。 模板分为函数模板和类模板。 函数模板 当我们想要使用一个swap可以用作多种类型时&#xff0c;可以使用模板。这样我们就可以不使用重载&#xff0c;不…

商城小程序踩坑(一):iPhone 11、iPhoneX 等设备底部安全区域/小黑条适配

一、前言 这两天正在开发商城小程序-商品详情页&#xff0c;在做设备测试的时候突然发现详情页底部—— 购物车 和 购买区域在苹果手机上不适配&#xff0c;并且还存在小黑条。 底部功能没有办法正常使用。 如下图所示&#xff1a; 解决后效果&#xff0c;如下图所示&#xff…