PHP8的变量-PHP8知识详解

昨天我们讲解了PHP8的常量,今天讲解PHP8的变量。常量有定义常量和预定义常量,变量呢?那就没有定义变量了,那叫给变量赋值,但是还是有预定义变量的。下面就给大家讲解什么是变量、变量赋值及使用及预定义变量。

PHP8的变量

一、什么是变量?

变量是计算机编程中的一个重要概念。它是用来存储和表示数据的一种方式。可以将变量看作是一个容器,用于存储各种类型的值,如数字、文本、布尔值等。

在编程中,变量有一个名称(也称为标识符),可以通过这个名称来引用和操作变量中存储的值。通过给变量赋值,可以将特定的值存储在变量中,并在程序的其他地方使用。

变量在程序中的作用非常重要,它们可以用来存储中间结果、用户输入、配置信息等。通过使用变量,程序可以更加灵活和可扩展,可以根据需要动态地改变存储的值。

 二、变量赋值及使用

在PHP8中使用变量,不需要进行定义(声明)变量,只需要给变量赋值即可。

PHP8中变量名称使用“$+标识符”表示。标识符是有字母、数字和下划线组成,并且不能以数字开头。特别提醒的是变量是区分大小写的。

正确的写法举例:

<?php
$PHP
$Python
$php8
$_class
?>

错误的写法举例:

<?php
$1688   //变量名不能以数字开头
$!love  //变量名不能以字母或下划线以外的字符开头
?>

变量赋值是指给变量赋予一个具体的数据值,对于字符串和数字类型的变量,可以通过操作符“=”来实现,其语法格式为:

$变量名 = 变量值

PHP8的赋值有两种,一个传值赋值,一个是引用赋值。区别如下:

1、传值赋值:使用操作符“=”直接将赋值表达式的值赋给另一个变量。

2、引用赋值:将赋值表达式的内存空间的引用赋给另一个变量。需要在“=”右侧的变量前面加一个“&”符号即可。

在引用赋值的时候,两个变量将会指向内存中的同一储存空间,所以任意一个变量的变化都会引起另一个变量的变化。

  下面给一段实际代码来示范:

<?php
$a1 = "php";     //给变量$a1赋值
$a2 = $a1;       //使用$a1初始化$a2
$a1 = "python";  //改变变量$a1的值
$a3 = & $a1;     //使用引用赋值,$a3被赋值为$a1
echo $a1;        //输出变量$a1的值
echo "<br>";     //换行显示
echo $a2;        //输出变量$a2的值
echo "<br>";     //换行显示
echo $a3;        //输出变量$a3的值
?>

以上代码运行结果为:

Image

三、预定义变量

在PHP8中,和预定义常量一样,PHP8中也有预定义变量。PHP8提供了很多实用的预定义变量。

比如我们登录网站的后台,很多的PHP的网站后台显示:本站的服务器IP地址、本站所在的主机名称、正在浏览当前页面的IP地址、服务器操作系统名称、访客操作系统名称等信息,这些都是PHP8的预定义变量。

1、$_SERVER:包含了关于当前脚本的服务器和执行环境的信息,如请求的方法、URL、用户代理等。

2、$_GET:包含通过GET方法传递给当前脚本的变量和值。

3、$_POST:包含通过POST方法传递给当前脚本的变量和值。

4、$_REQUEST:包含了通过GET、POST和COOKIE方法传递给当前脚本的变量和值。

5、$_COOKIE:包含了通过HTTP Cookies传递给当前脚本的变量和值。

6、$_SESSION:包含了当前会话中存储的变量和值。

7、$_FILES:包含了通过HTTP文件上传机制传递给当前脚本的文件相关的变量和值。

8、$_ENV:包含了通过环境变量传递给当前脚本的变量和值。

9、$GLOBALS : 超全局变量,用于访问全局作用域中的全局变量。它是一个包含了当前脚本中所有全局变量的关联数组。在 PHP 8中,全局变量是在脚本的任何地方都可访问的变量,而超全局变量是在脚本的任何地方都可访问的预定义变量。
 

当然还有很多的预定义变量,就拿$_SERVER来说,就有很多的子预定义变量的参数,本文就不一一列出来了,大家有所了解就行了。

这些预定义变量提供了方便的访问方式,以便在PHP脚本中获取和操作相关信息。你可以使用它们来处理用户输入、访问服务器信息、处理文件上传等任务。想学习更多的PHP8的知识,请关注我们哦!

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

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

相关文章

第六次作业 密码学

发送者为Alice 接受者为Bob 首先对原始信息进行hash运算得到信息摘要&#xff0c;然后使用发送者Alice私钥进行签名&#xff08;签名的作用是验证该信息是Alice的&#xff09;&#xff0c;然后将原始信息数字签名Alice证书&#xff08;该Alice的证书是由CA组织进行办发的&…

【测试设计】性能测试工具选择:wrk?jmeter?locust?还是LR?

目录 前言 wrk 优点 缺点 jmeter 优点 缺点 locust 优点 缺点 总结 资料获取方法 前言 当你想做性能测试的时候&#xff0c;你会选择什么样的测试工具呢&#xff1f;是会选择wrk&#xff1f;jmeter&#xff1f;locust&#xff1f;还是loadrunner呢&#xff1f; 今…

【图论】无向图连通性(tarjan算法)

割边&#xff1a;dfn[u]<low[v] 割点&#xff1a;dfn[u]<low[v] (若为根节点&#xff0c;要有两个v这样的点) 一.知识点&#xff1a; 1.连通&#xff1a; 在图论中&#xff0c;连通性是指一个无向图中的任意两个顶点之间存在路径。如果对于图中的任意两个顶点 u 和 v&…

Eureka注册中心 与 OpenFeign调用接口

需求 一个应用通过接口&#xff0c;调用另一个应用的接口。使用OpenFeign来实现接口调用。 说明 通过OpenFeign&#xff08;本文接下来简称Feign&#xff09;调用远程接口&#xff0c;需要Eureka注册中心的支持。 OpenFeign调用接口的逻辑如下&#xff1a; 提供接口的应用…

文章详情页 - 评论功能的实现

目录 1. 准备工作 1.1 创建评论表 1.2 创建评论实体类 1.3 创建 mapper 层评论接口和对应的 xml 实现 1.4 准备评论的 service 层 1.5 准备评论的 controller 层 2. 总的初始化详情页 2.1 加载评论列表 2.1.1 实现前端代码 2.1.2 实现后端代码 2.2 查询当前登录用户的…

list与流迭代器stream_iterator

运行代码&#xff1a; //list与流迭代器 #include"std_lib_facilities.h" //声明Item类 struct Item {string name;int iid;double value;Item():name(" "),iid(0),value(0.0){}Item(string ss,int ii,double vv):name(ss),iid(ii),value(vv){}friend ist…

Redis的安装部署以及基本的使用

目录 一、Linux下直接安装Redis &#xff08;1&#xff09;下载Redis安装包 &#xff08;2&#xff09;安装GCC编译环境 &#xff08;3&#xff09;安装Redis &#xff08;4&#xff09;服务启动 &#xff08;5&#xff09;后台启动 二、使用Docker安装部署Redis &…

2023年第四届“华数杯”数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常检测 异常…

云原生之深入解析如何在Kubernetes下快速构建企业级云原生日志系统

一、概述 ELK 是三个开源软件的缩写&#xff0c;分别表示 Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个 FileBeat&#xff0c;它是一个轻量级的日志收集处理工具 (Agent)&#xff0c;Filebeat 占用资源少&#xff0c;适合于在各个服务器上搜集日志后传输…

Django使用用户列表的展示和添加

接着上一篇&#xff1a;https://blog.csdn.net/javascript_good/article/details/132027702 来实现用户表的查询和添加 1、创建数据库表 在models.py 中&#xff0c;增加UserInfo类&#xff0c;包括字段姓名、密码、年龄、账号余额、入职时间、所属部门、性别 verbose_name 就…

解决AttributeError: ‘DataParallel‘ object has no attribute ‘xxxx‘

问题描述 训练模型时&#xff0c;分阶段训练&#xff0c;第二阶段加载第一阶段训练好的模型的参数&#xff0c;接着训练 第一阶段训练&#xff0c;含有代码 if (train_on_gpu):if torch.cuda.device_count() > 1:net nn.DataParallel(net)net net.to(device)第二阶段训练…

STM32 LoRa(学习二)

LoRa关键参数说明 LoRa数据包由三个部分组成&#xff1a;前导码、可选报头、数据有效负载。 前导码&#xff1a;用于保持接收机与输入的数据流同步。默认情况下&#xff0c;数据包含有12个符号长度的前导码。前导码是一个可以通过编程来设置的变量&#xff0c;所以前导码的长度…

台式机/工控机通过网线共享笔记本电脑无线网络(待续)

1、 将台式机通过网线和笔记本连接。 2、 将笔记本的“本地连接”和“无线网络连接”的ipv4均设置为自动获取。 4.修改台式机的IP地址为如下&#xff08;对应笔记本信息&#xff09; IP地址为192.168.XXX.12 子网掩码为255.255.255.0 默认网关为192.168.XXX.1 首选DNS为192.16…

git | git使用心得记录

公司里项目最近使用Git进行协作开发&#xff0c;总结一下使用心得 一、第一次用git&#xff0c;完全同步最新代码checkout 按照以下步骤操作 1、git init 2、git remote add origin 远程仓库的地址https://gitlab.xxxx.com.cn/xx/xx/xxx/Android/baseline/x.x.x.git(远程仓库…

解密Redis:应对面试中的缓存相关问题

文章目录 1. 缓存穿透问题及解决方案2. 缓存击穿问题及解决方案3. 缓存雪崩问题及解决方案4. Redis的数据持久化5. Redis的过期删除策略和数据淘汰策略6. Redis分布式锁和主从同步7. Redis集群方案8. Redis的数据一致性保障和高可用性方案 导语&#xff1a; 在面试过程中&#…

HCIP中期考试实验

考试需求 1、该拓扑为公司网络&#xff0c;其中包括公司总部、公司分部以及公司骨干网&#xff0c;不包含运营商公网部分。 2、设备名称均使用拓扑上名称改名&#xff0c;并且区分大小写。 3、整张拓扑均使用私网地址进行配置。 4、整张网络中&#xff0c;运行OSPF协议或者BGP…

02 笔记本电脑m.2硬盘更换

1 工具展示 SN570的2T硬盘。够用了。 对于这台华为&#xff0c;使用的螺丝刀批头是4或5毫米的六边形批头。如果出现打滑的情况&#xff0c;请不要用蛮力哦。 2 更换过程 使用螺丝刀拧走后盖的螺丝&#xff08;为了避免会出问题要再次打开&#xff0c;我到现在还没有把螺丝拧回…

ORB算法在opencv中实现方法

在OPenCV中实现ORB算法&#xff0c;使用的是&#xff1a; 1.实例化ORB orb cv.xfeatures2d.orb_create(nfeatures)参数&#xff1a; nfeatures: 特征点的最大数量 2.利用orb.detectAndCompute()检测关键点并计算 kp,des orb.detectAndCompute(gray,None)参数&#xff1a…

Altova MissionKit 2023Crack

Altova MissionKit 2023Crack MissionKit是一套面向信息架构师和应用程序开发人员的企业级XML、JSON、SQL和UML工具的软件开发套件。MissionKit包括Altova XMLSpy、MapForce、StyleVision和其他市场领先的产品&#xff0c;用于构建当今的真实世界软件解决方案。 使用MissionKit…

DNS WEB HTTP

DNS与域名 网络是基于 TCP/IP 协议进行通信和连接的。 每一台主机都有唯一的标识&#xff0c;用于区别在网络上成千上万个用户和计算机。即固定的IP地址&#xff08;32位二进制数转换成为十进制数——点分十进制&#xff09;。每一个与网络相连接的计算机和服务器都被指派一个…