$ this-> id和$ id有什么区别

LK *_*ung -1 php this

$ this-> id和$ id有什么区别.

class Test{
 public $id;

 function Test(){
  $this->id = 1;
 }
}
Run Code Online (Sandbox Code Playgroud)

===

class Test{
 public $id;

 function test(){
  $id = 1;
 }
}
Run Code Online (Sandbox Code Playgroud)

如何从其他类中获取变量?

class TestA{
 public $test;

 function TestA(){
  $this->test = new Test();
  echo $this->test->id;
 }
}
Run Code Online (Sandbox Code Playgroud)

zer*_*kms 9

php在某种程度上不工作C++,JavaC#工作.

在php中,您应始终使用$thisreference和->operator来访问实例变量.

因此,第一个代码分配1给实例id属性,第二个代码分配给1局部$id变量.

  • 另请参阅文档:http://php.net/manual/en/language.variables.scope.php (2认同)

Mar*_*zek 5

您的示例没有区别,但是$this->variable_name当您的方法中具有相同名称的内部变量时,使用可能很有用:

class test{
 public $id;

 function test($id){
  $id = 1;        // method parameter
  $this->id = 2;  // object member
}
Run Code Online (Sandbox Code Playgroud)