兽哥手打--->第一发、PHP 变量

PHP 变量

0.0.1 创建声明变量

例子:

<?php

$x=5;

$y=3;

$z=$x+$y;

eho $z;

?>

剖析:在php中,例如x,y,z 都称之为变量

PHP没有声明的变量,在赋值时被创建。

与代数相似,可以给x,y,z 赋值, 变量可以是很短的名称(如x和y ) 或者更具描述性的名称 如(nb,wcao,age,name。。。。)

PHP 变量规则:

●变量以$符号开始,后面跟变量的名称

●变量名必须以字母或着下划线字符开始

●变量名只能包含字母、数字、字符以及下划线(A-z、0-9和_)

●变量名不能包含空格

●变量名是区分大小写的($y和$Y是两个不同的变量)

Ps:●PHP语句和PHP变量都是区分大小写的

0.02  PHP 变量作用域

    变量的作用域是脚本中变量可被引用/使用的部分

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

●  local

●  global

●  static

●  parameter

0.03 局部和全局作用域

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分放问,要在一个函数中访问一个全局变量,需要使用global关键字。

在所有函数内部声明的变量是局部变量,仅能在函数内部访问。

剖析:上图左边为代码 右边为输出结果

x是位于全局作用域  y是位于局部作用域

●在局部作用域输出结果:我们可以看到 x未输出,只输出了y

●在全局作用域输出结果:我们可以看到x输出了,y未输出

这也验证了这节开头所述的概念:局部变量的访问只能在局部作用域下。

全局变量可被任何部分访问,但要在局部作用域中被访问,需要使用关键字。接下来,我们来分析关键字的作用

0.04 PHP global关键字

global关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上global关键字;

剖析:当在局部作用域加上global关键字之后 x,y可以被调用了。顺利输出

0.05 PHP 中static关键字------static作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候咱希望某个居于变量不要被删除。

想要这样做的时候,那么在 第一次声明变量的时候使用static关键字。

每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

Ps:该变量仍然是函数的局部变量

0.06 参数作用域

参数是通过调用代码将值传递给函数的局部变量。

参数是在参数列表中声明的,作为函数声明一部分。

时间: 2024-08-24 12:27:00

兽哥手打--->第一发、PHP 变量的相关文章

兽哥出品----&gt;sqlmap注入,杀入靶机

Sqlmap 实践----->怼自己的靶机      今天兽哥准备拿出来点干货给大家尝尝,是咸是甜自任君品尝   靶机之前已经文章说过 用phpstudy 链接 dvwa 搭建一个环境   而后呢,我们要使用抓包软件抓一下dvwa的cookie     让我们先来看一下演示:   首先进入dvwa 将难度设置为low(为了演示方便)         接着呢 要使用用抓包 抓出dvwa登录时的cookie     首先配置代理,在这里呢  我设置代理端口为默认:8080 如下图所示        

兽哥出品----&gt;XSS漏洞的原理与剖析

Xss(跨站脚本攻击) 今天 兽哥又给大家带来一份干货,关于xss漏洞问题     Xss是一种基于html属性的攻击 这是一种比较简单的方法 然而现在存在xss漏洞已经很少了   但是..注意 这里我用到了但是          我在挂代理 去国外找网站时  我发现某个渣渣国的很多很多网站存xss漏洞       随便掏了一个给大家做一下尝试 讲解原理 嗷嗷叫!!!! 拉出来safe3   输入某网站 跑一下 可以看到  真的是很多啊 还有sql注入漏洞 我随便选中一行把 这个很短 很舒服 我

跟着刚哥梳理java知识点——变量之间的类型转换(四)

变量之间的类型转换主要包括自动类型转换和强制类型转换. 1.自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动的转换成容量大的类型. [知识点]: a)char,byte,short ---> int ---> long ---> float ---> double ---> String char c = 'a'; short s = 12; byte b = 125; //char.short和byte之间运算全部自动转换成int int s1 =

兽哥教你sqlmap,sqlmap的安装及使用

首先,sqlmap是基于Python下的一款扫描注入环境 所以  首先得下载好 python 和 sqlmap Python 于百度下载就可以了 那么sqlmap呢 去官网 http://sqlmap.org/ 都下载下来呢 先安装 python  记住!  !!! 这里有个坑!!!!!! 在选择组件的时候 往下拉  把未选择的 全部勾选! 不然的话需要配置环境变量 安装完后 crlt+r  调出运行框后 运行 cmd.exe  在命令提示符中输入 python 显示这个页面为python安装成

马哥学习笔记——shell变量类型

shell变量基础shell 变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let. declare.expr.双括号等.shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell中可用.而环境变量则可以在创建 它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符 可以是字母.数字(0~9

兽哥出品---&gt;w3af的搭建以及使用

w3af是一款中轻量级扫描工具,kali下受欢迎程度:???? 这款目前我是在linux下搭建的 链接如下: git clone --depth 1 https://github.com/andresriancho/w3af.git cd w3af ./w3af_gui 这儿有可能出现大量错误,安装依赖包: sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging p

Shell变量的取用、删除、取代与替换

<<鸟哥的私房菜>> 变量的取用: echo echo $variableecho $PATHecho ${PATH} 变量的配置守则1.变量与变量内容以一个等号『=』来连结,如下所示:  『myname=VBird』 2.等号两边不能直接接空格符,如下所示为错误:  『myname = VBird』或『myname=VBird Tsai』 3.变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误:  『2myname=VBird』 4.变量内容若有空格符可使用双引号『

Python中ThreadLocal的理解与使用

一.对 ThreadLocal 的理解 ThreadLocal,有的人叫它线程本地变量,也有的人叫它线程本地存储,其实意思一样. ThreadLocal 在每一个变量中都会创建一个副本,每个线程都可以访问自己内部的副本变量. 二.为什么会出现 ThreadLocal 的技术应用 我们知道多线程环境下,每一个线程均可以使用所属进程的全局变量.如果一个线程对全局变量进行了修改,将会影响到其他所有的线程对全局变量的计算操作,从而出现数据混乱,即为脏数据.为了避免逗哥线程同时对变量进行修改,引入了线程同

七、python list列表

个人理解: python 的list 列表,非常类似java 的数组,也类似于shell脚本里的数组.就是一个变量,存的是一组不同的数据. 比如 list1 = [123,[1,2,3,4,"hehe"],"陈司大帅哥"] 这个列表.就可以拆分成 list1[0] = 123 list1[1] = [1,2,3,4,"hehe"] (list1的下标1,存的是一个新的list.如果我想通过list1变量获取里边的hehe ,可以用 list1[1