2013-11-05 42 views
2

這樣的IM這裏給我找麻煩, 這個代碼,如果我不是弄錯應該回聲出藍色和塵埃,但由於某種原因,它被粘到默認綠色PHP類學習PHP和階級的過程不附和正確

<?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; 

?> 

我做錯了什麼?如果需要的話解釋給我像IM 5

+4

首先改變'$這個 - > $顏色= $顏色;'到'$這 - >顏色= $顏色;' – zzlalani

+0

@zzlalani,這是唯一的問題:) –

+0

是啊..可能唯一的問題,據我所見.. – zzlalani

回答

4

你應該改變

$this->$color = $color; 

以下幾點:

$this->color = $color; 
+4

感謝您複製上述評論.. :) – zzlalani

+0

我沒有像你說的那樣複製我試過我自己的 – shankar

+0

謝謝你嘗試:) – zzlalani

1

當訪問你不應該訪問使用「$」類變量。只需使用類實例的變量名稱來調用它。

所以你的代碼目前,

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

這應該是完全一樣的下面,

$this->color = $color; //CORRECT ONE