web安全php基础_php变量命名及其作用域

news2025/1/22 17:46:20

php变量命名规则

php变量命名规则

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
  • PHP变量不需要声明,它在第一次赋值的时候被创建。

PHP变量命名规则其余注意事项

1、当用两个或两个以上的单词命名变量时,可以将除第一个单词以外的所有单词的首字母大写。如 m y N a m e 、 myName、 myNameyourFamilyName。

2、以下划线_开始命名的变量通常代表特殊的变量。如在类中创建受保护的属性、PHP预定义变量($_GET)、全局数组等。

3、定义变量的时候,不要贪图简短,而应该使用具有描述性的名称定义变量。

PHP 变量作用域

在 PHP 中,可以在脚本的任意位置对变量进行声明。

变量的作用域指的是变量能够被引用/使用的那部分脚本。

PHP 有三种不同的变量作用域:

  • local(局部)
  • global(全局)
  • static(静态)

Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

在这里插入图片描述

输出为
在这里插入图片描述
在上例中,有两个变量 $x 和 $y,以及一个函数 myTest()。$x 是全局变量,因为它是在函数之外声明的,而 $y 是局部变量,因为它是在函数内声明的。

如果我们在 myTest() 函数内部输出两个变量的值,$y 会输出在本地声明的值,但是无法 $x 的值,因为它在函数之外创建。

然后,如果在 myTest() 函数之外输出两个变量的值,那么会输出 $x 的值,但是不会输出 $y 的值,因为它是局部变量,并且在 myTest() 内部创建。

我们可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。

但是:

在(函数内部)变量前面使用 global 关键词,相当于声明,我要调用全局变量的$x和$y。

在这里插入图片描述
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

在这里插入图片描述

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

要完成这一点,请在首次声明变量时使用 static 关键词:
在这里插入图片描述
输出结果
在这里插入图片描述
然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

注意该变量仍然是函数的局部变量。在函数外部仍然不可调用

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

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

相关文章

戴尔笔记本开机输入密码后黑屏只有鼠标,没有桌面的解决参考办法

戴尔笔记本开机输入密码后黑屏只有鼠标,没有桌面的解决参考办法 网络常用方法方法一:cmd启动资源管理器方法二:进入安全模式 以上两个方法我的电脑无效,因此我怀疑是启动项的问题更改启动项 网络常用方法 方法一:cmd启…

道路车辆功能安全第2 部分:功能安全管理

道路车辆功能安全 第2 部分:功能安全管理 1 范围 GB/T 34590的本部分规定了应用于汽车领域的功能安全管理的要求,包括: ——独立于项目的关于所涉及组织的要求(整体安全管理);及 ——项目特定的在安全生命周…

zip解压文件,可选择保留的文件夹及该文件夹下的所有文件

zip解压文件,可选择保留的文件夹及该文件夹下的所有文件 代码: zip里面的文件: public static void main(String[] args) {// 要解压的ZIP文件路径String zipFilePath "G:\\WeChat\\WeChat Files\\wxid_aff2r4isimwl22\\FileStorage…

司守奎<数学建模算法应用>第二版----第一章习题解答

司守奎<数学建模算法应用>第二版----第一章习题解答 1.1题目代码 1.2题目 1.3题目代码 1.4题目分析代码 1.1 题目 这道题就是简单的一个线性规划模型,不要求我们自行建立,所以就按照书本上的例题去写就行 代码 % 例题1 %使用matlab解决线性规划问题 %目标函数:z3x1-x2…

GLM-130B本地部署的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

K8S调度管理

调度管理 1.1 调度框架1.1.1 调度体系1.1.2 资源调度 1.2 资源调度1.2.1 节点调度1.2.2 节点亲和1.2.3 Pod亲和1.2.4 Pod反亲和1.2.5 污点&容忍度1.2.6 污点实践 1.3 流量调度1.3.1 Ingress基础1.3.2 Ingress实践1.3.3 Ingress进阶1.3.4 Ingress认证1.3.5 Ingress扩展 1.1 …

【数据结构与算法】求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值

题目 Qestion: 求任意二叉树中第一条最长的路径长度&#xff0c;并输出此路径上各结点的值。 数据结构与定义 typedef struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right; } TreeNode;二叉树形状 核心代码 void FindLongesetPath(TreeNode *node, int…

ChatGPT越来越火,大厂体验设计师纷纷“毕业”?

2020年至2022年是很艰难的三年&#xff0c;全球经济受到沉重打击&#xff0c;我国也不例外。再加上人口红利的削弱&#xff0c;作为体验领域排头兵的互联网行业已经从巅峰状态回落下来&#xff0c;行业光环几乎消失。随之而来的是&#xff0c;国内各个大厂先后开始“降本增效”…

如何在半导体行业运用IPD?

半导体产业链具体包括上游半导体原材料与设备供应、中游半导体产品制造和下游应用。其中&#xff0c;半导体材料处于上游供应环节&#xff0c;材料品类繁多&#xff0c;按制造流程可细分为前端制造材料和后端封装材料。半导体设备&#xff0c;即在芯片制造和封测流程中应用到的…

github上传超过100M的大文件

当上传的工程中有超过100M的文件时&#xff0c;直接上传github会产生如下报错&#xff1a; remote: error: File retinaface-R50/R50-0000.params is 112.54 MB; this exceeds GitHubs file size limit of 100.00 MB! [remote rejected] master -> master (pre-receive ho…

一文了解Docker之网络模型

目录 1.Docker网络 1.1 Docker网络模型概述 1.2 Docker网络驱动程序 1.2.1 host模式 1.2.2 bridge模式 1.2.3 container模式 1.2.4 none模式 1.3 Docker网络命令示例 1.3.1 创建一个自定义网络 1.3.2 列出所有网络 1.3.3 连接容器到网络 1.3.4 断开容器与网络的连接…

ASO优化之海外应用的评分评论

应用评分评论是所有用户生成的反馈汇总&#xff0c;用1-5星等级来表示。这是用户在搜索应用程序是最先想到的事情&#xff0c;所以这对于应用商店优化很重要。 应用商店里有数以万计的应用程序可供使用&#xff0c;并且每天都会发布新的应用&#xff0c;所以为了在竞争激烈的应…

如何让小家电带电池设备快速充满电

如今随着这几年的USB-C PD适配器的普及&#xff0c;消费者手上的PD协议适配器越来越普遍&#xff0c;如何让微软surface 充电器线支持使用PD适配器快充呢&#xff1f;不妨加入一颗受电端PD协议取电芯片——LDR6015 就可以打造一根 PD电源线适配pro7/6/5/4/laptop/book/go Type…

【花雕】全国青少年机器人技术一级考试备考实操搭建手册8

随着科技的不断进步&#xff0c;机器人技术已经成为了一个重要的领域。在这个领域中&#xff0c;机械结构是机器人设计中至关重要的一部分&#xff0c;它决定了机器人的形态、运动方式和工作效率。对于青少年机器人爱好者来说&#xff0c;了解机械结构的基础知识&#xff0c;掌…

HarmonyOS极客松“上分秘籍”! 高手们顶峰相见!

HarmonyOS 极客马拉松2023 火热进行中&#xff0c;我们期待与各位开发者相聚一起&#xff0c;践行极客精神&#xff0c;创造无限可能&#xff01; 我们鼓励各位极客们自由组队&#xff0c;挥洒创意&#xff0c;用HarmonyOS 探索移动应用和服务的更多可能性&#xff01; 优秀的参…

ABB机器人中变量的3种存储类型使用时的区别

ABB机器人中变量的3种存储类型使用时的区别 ABB机器人中变量的存储类型有3种&#xff1a;变量VAR、可变量PERS、常量CONST&#xff0c;如下图所示&#xff0c; 如下图所示&#xff0c;声明一个VAR类型的变量&#xff0c;具体语法格式&#xff1a; 3种存储类型的具体区别如下…

vue3+ts 绘制流程图 vueflow 附代码及效果图

已完成渲染流程图&#xff0c;自定义模板内容(上下分级),自定义样式&#xff0c;新增节点addRandomNode&#xff0c;点击修改节点nodeClickHandler(从父组件传值) 官网&#xff1a;https://vueflow.dev/guide/node.html#node-template 文档比较复杂&#xff0c;很多想找的方法…

nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题

问题描述&#xff1a; 在centos7上部署多个springcloud项目。出现了服务莫名其妙会挂掉一两个的问题&#xff0c;重新启动挂掉的服务之后又会出现其他服务挂掉的情况&#xff0c;查看启动日志也并没有发现有异常抛出。令人费解的是所有的服务都是通过nohup java -jar xxx.jar …

2020年国赛高教杯数学建模C题中小微企业的信贷决策解题全过程文档及程序

2020年国赛高教杯数学建模 C题 中小微企业的信贷决策 原题再现 在实际中&#xff0c;由于中小微企业规模相对较小&#xff0c;也缺少抵押资产&#xff0c;因此银行通常是依据信贷政策、企业的交易票据信息和上下游企业的影响力&#xff0c;向实力强、供求关系稳定的企业提供贷…

MAYA过山车动画

创建骨骼 把小车模型放入到控制器里 有点问题&#xff0c;先建立一个组在试&#xff0c;没问题了