PHP 中的变量用一个美元符号后面跟变量名来表示。
变量名是区分大小写的。
变量名与 PHP 中其它的标签一样遵循相同的规则。
一个有效的变量名由字母或
者下划线开头,后面跟上任意数量的字母,数字,或者下划线
注:在此所说的字母是 a-z,A-Z,以及 ASCII 字符从 127 到 255(0x7f-0xff)。
$this 是一个特殊变量不能被赋值
PHP变量命名规则
1、变量以美元符号$开头。如$name,$age。
2、美元符号$后面的第一个字符不可以是数字,只能是下划线_或者字母。如$1_1这样的变量是错误的。
3、除了下划线_外,变量不允许出现任何空格或标点符号。也就是说变量名只能包含:a-z、A-Z、0-9 以及下划线_。
4、PHP变量名是区分大小写的。如$name与$Name是两个不同的变量
<?php $var = 'Bob' ; $Var = 'Joe' ; echo "$var,$Var"; // 输出 "Bob, Joe" //site = 'not yet' ; // 非法变量名;以数字开头 $_4site = 'not yet' ; // 合法变量名;以下划线开头 $i站点is = 'mansikka' ; // 合法变量名;可以用中文 ?>
变量的作用域:
变量的作用域是脚本中变量可被引用/使用的部分
local global static parameter
global 关键字用于函数内访问全局变量
<?php $x=5; $y=10; function myTest(){ global $x,$y; $y=$x+$y; } myTest(); echo $y; ?>
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
<?php function myTest(){ static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
static 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失
然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
注释:该变量仍然是函数的局部变量。
<?php $x=5; $y=10; function myTest(){ $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?>
参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:
<?php function myTest($x){ echo $x; } myTest(5); ?>