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

news/2024/11/7 7:41:43/

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.ppmy.cn/news/709634.html

相关文章

iphone12售价曝光 iphone12什么时候上市

据爆料今年iPhone12的发布会时间将被推迟,如今这一消息看来确实是真的,并且有消息显示苹果准备在10月下旬举行一场发布会,届时iPhone12将成为发布会的主角。 iphone11爆降2000太给力了 https://www.apple.com.cn iPhone 12全系或将还是四款产…

iphone12上市时间已定

爆料称,苹果首批iPhone 12将在10月5日面向经销商发货,出货的机型包括5.4英寸iPhone 12 mini,6.1英寸iPhone 12。 iphone11爆降2500这活动太给力不 http://www.apple.com 5.4英寸iPhone 12 mini是最终苹果使用的名字,这一系列存储…

iphone12什么时候上市 iphone12全系搭配A14处理器

苹果12需要20年9月份前后才会上市。 我用的苹果手机就是活动时8折抢购的 https://mall.jd.com/index-1000000127.html 众所周知了,2020对苹果来说将是一场关键战役,在安卓对手们已经纷纷拿出5G手机甚至做到百万级出货量后,今年的iPhone12也…

iphone12/12max/12pro售价曝光 iphone12上市时间已定

据悉,全新的iPhone 12系列的上市时间要比以往晚几周,也就是将在10月才能与大家见面。 iphone11爆降2000太给力了 https://www.apple.com.cn iPhone12系列包括四款机型:iPhone 12、iPhone 12 Max、iPhone 12 Pro和iPhone 12 ProMax&#xff0c…

2007年的今天 第一代iPhone上市

http://www.cnbeta.com/articles/147295.htm 包括苹果在内,没有人能够预料到iPhone将对手机市场产生如此深远的影响。 2007年1月9日,苹果CEO史蒂夫乔布斯(Steve Jobs)发布了iPhone,这也被认为是保密工作做得最差的苹果产品之一,但…

将两个字符串合并为一个字符串并且输出(二)

#include <stdio.h> #include <string.h>int main() {char str1[100] "Hello, ";char str2[] "World!";char result[200];strcpy(result, str1); // 将第一个字符串复制到结果字符串中strcat(result, str2); // 将第二个字符串追加到结果字…

Maven中 排除依赖 exclusions

使用maven进行jar包依赖管理时&#xff0c;maven会自行管理jar包及其依赖链条&#xff0c;但往往会遇到依赖冲突问题&#xff0c;这时候就可以尝试使用exclusions来进行依赖管理 demo:排除tomcat 启用 jetty <dependency><groupId>org.springframework.boot</g…

农家一碗香

最爱的农家一碗香&#xff0c;今天靠这个治愈了我了。