2

所以我在学习 php 和类的过程中给我带来了麻烦,如果我没记错的话,这段代码应该回显 Blue and Dusty 但由于某种原因它坚持默认的绿色

<?php 

class World {
   public $color = 'green';

   public function __construct($color) 
   {
      $this->$color = $color;
   }
}

$World = new World('blue');
echo $World->color;

echo "<br>";

$World2 = new World('dusty');
echo $World2->color;

?>

我究竟做错了什么?如果需要像我 5 一样向我解释

4

2 回答 2

4

你应该改变

$this->$color = $color;

到以下:

$this->color = $color;
于 2013-11-05T05:42:00.950 回答
1

在访问类变量时,您不应使用'$'访问。只需使用带有类实例的变量名来调用它。

所以你的代码目前是,

$this->$color = $color;  //WRONG CODE

这应该与下面的完全一样,

$this->color = $color;   //CORRECT ONE
于 2013-11-05T06:11:13.033 回答