-3

OOP PHP 中的变量 $a 和变量 $this->a 有什么不同?

class A{
 public function example(){
  $this->a = "Hello A";
  $a = "Hello A";
 }
}
4

3 回答 3

3

$this->a表示一个类变量,可以从类范围内的任何地方访问,而$a只能在函数本身内使用。

于 2013-04-28T17:06:10.963 回答
2

$this是一个伪变量。当从对象上下文中调用方法时,此伪变量可用。$this是对调用对象的引用(通常是方法所属的对象,但也可能是另一个对象,如果该方法是从辅助对象的上下文中静态调用的)。

请参阅PHP 手册

于 2013-04-28T17:09:32.527 回答
1

一个小例子来说明埃文的答案

$myA = new A();

$myA->example();

$myA->test();

class A{

 private $a;

 public function __construct() {
  $this->a = 'Hello A';

 public function example(){
  $a = 'Hello A again';
  echo $this->a;//print 'Hello A'
  echo $a;//print 'Hello A again'
 }

 public function test() {
  echo $this->a;//print 'Hello A'
  echo $a;//E_NOTICE : type 8 -- Undefined variable: a
 }
}
于 2013-04-28T18:43:27.570 回答