写在前面:
变量可以形象的解释为信息的容器(存信息的东西)。比如说$x=8,相当于把8给放到x里面,以后操作$x的时候就相当于操作8 》5+$x结果为13
----------------------------------------------------------------------------------------------------
PHP中的变量命名规则:
由两部分组成:美元符号$和变量名
其中变量名的要求是:1.不能以数字开头
2.以字母或下划线开头
3.变量中只能包含字母,数字和下划线(a-z,A-Z,0-9,_)
4.第一节语法讲过的,变量名对大小写敏感(或叫区分大小写),即$a和$A是两个不同的变量
PHP没有定义变量的关键字去限定变量的类型,想定义变量直接就是美元符号加变量名=变量值,变量值部分,数字直接写,字符串加引号,系统会根据变量值自动定义变量的类型
限定变量作用域的关键字:
1.在不加限定作用域关键字时,区分一个变量是全局变量还是局部变量是根据该变量所在的位置,函数外面声明的变量为全局变量,函数内部声明的变量为局部变量,局部变量好理解就是只有在该函数内部用,这里的全局变量也只是函数外的全局,对函数内部没有影响。
2.从1可以看出,可以在不同的函数中声明相同的变量名,因为函数内不加关键字的变量只对该函数内部有用
*.默认情况下如果不显性的给出变量前面的限定关键字,则全局变量前默认有个隐含的global,局部变量前默认有个隐含的local
上面的1,2讲的都是隐式的情况,那限定作用范围的关键字,到底什么时候用呢?
global:在函数中的变量要引用函数外的变量(全局变量),即在函数中放一个全局变量,这种情况下,函数里面的变量要写成 global $变量名 的形式,
static:
前提:一般情况下,函数执行完成后,里面的变量也随之被删除
在知道上一行前提的情况下,在函数执行完成后,还想保留函数里面的变量,这时用static $变量名
举例:函数a()里面是这么写的
static b=1;
echo "$b";
b++;
第一次执行a()时,echo的是1,第二次调用a()的时候echo的是2,第三次调用a()的时候echo的是3,也就是说在这个函数中,b这个变量总是上一次值行完函数后的最新值,而不是初始的1,关于static还有一点就是:它修饰的变量依然是局部变量