【基础】PHP变量及变量作用域 - wildfox
程序员文章站
2022-05-27 20:38:14
...
新学PHP,比较有意思的语法,记录下。
1. 变量的作用域
作用域只分两个Global和Local,Global相对于整个.php文件来讲,Local是本地最小范围,是距离变量最近的范围,如:在函数中,在类中等。
2. 变量的声明
可能是由于PHP变量独特的$符号,所以声明PHP变量不需要关键字(类中除外),第一次赋值的时候自动创建了。
类中却比较独特了,由于类带有成员属性private、public、protected,那么在类中声明变量的时候是需要关键字修饰的。用前面所说的关键字或这个关键字var,但是不可以二者共用。
3. 样例说明
1 php 2 3 $VarFile = "Var_File"; //变量声明 4 5 $nr = array("\n","\r","\n\r","\r\n"); 6 7 8 class TestClass 9 { 10 /* 11 * 分别用Var声明和private关键字声明 12 * $var = value; 这种不可以 13 * var private $var; 这种不可以 14 * var private $var = value; 这种不可以 15 * var $var; 这种不可以 16 */ 17 18 var $VarClass = 'VarClass declared by keyword Var'; 19 private $VarClass2 = 'VarClass2 declared by keyword private'; 20 21 /* 22 * 增加global关键字,使用global作用域的变量 23 * 函数中声明变量方法与全局一样 24 */ 25 26 function GetAllVar() { 27 global $VarFile; 28 $VarFunction = 'Var_Function'; 29 30 $Temp = "$VarFile=".$VarFile."\r\n". 31 "VarClass=".$this->VarClass."\r\n". 32 "VarClass2=".$this->VarClass2."\r\n". 33 "VarFunction=".$VarFunction."\r\n"; 34 35 36 return str_replace($GLOBALS['nr'],"
",$Temp); 37 } 38 39 40 41 } 42 43 $MyClass = new TestClass("zzy"); 44 echo $MyClass->GetAllVar(); 45 46 ?>