创建变量
PHP没有创建变量的命令,它会在首次赋值时被创建,并且自动转换成正确的数据类型。
PHP命名规则:
变量以$符号开头,其后是变量的名称。
变量名称必须以下划线和字母开头。
变量名称只能包含字母字符和下划线。(A-z、0-9、以及 _)
变量名称区分大小写($S和$s不是同一个变量)
PHP变量作用域
local(局部)
global(全局)
static(静态)
LOCAL 作用域和Global作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
举一个中二的例子增进大家的了解。
<?php $a=1; //全局作用域,即a是女神 function test(){ $b=2;//局部作用域,b是loser echo $a; //现在函数里面输出变量a等于loser想找女神,但是女神跟你不是一个世界的,所以值输出为空,做梦吧!loser echo "<br>";//换行 echo $b; //值为2--没有变化,还是一个人该干嘛干嘛。 echo "<br>"; } test(); echo $a; //值为1,不变---时光流转,女神被高富帅抛弃了还是一个人 echo "<br>"; echo $b; //在函数外部输出函数内的变量b,输出为空--女神被抛弃了回来找loser,loser说当我傻逼啊肚子里的孩子不是我的,所以输出也为空。 echo "<br>"; echo "上面一行是空的!"?>
global关键词
结合上面那个例子来讲,它的作用是让loser(局部变量b)逆袭女神(全局变量a)的法宝――成为高富帅
既用于访问函数内的全局变量
<?php $a=1; //全局变量 function test(){ global $b;//定义变量b为全局变量---loser变成高富帅 $b=2; } test(); echo $a; //值为1 echo "<br>"; echo $b; //值为2--在函数外输出变量b不为空--既现在高富帅和女神的想怎么瞎搞就怎么瞎搞 ?>
static关键词
一般来讲,函数执行完成后会删除所有局部变量---既高富帅上了女神就会甩掉
但是,有时候我需要不删除某个局部变量----也不排除快快乐乐的生活在一起
<?php function test(){ static $b=0;//定义变量b为静态变量 echo $b; $b++; } test();//值为0 test();//值为1 test();//值为2 ?>
大家可以去掉static体会一下它的作用。。。