2014-02-22 62 views
1

我有以下簡單的代碼,但它在線this->players[] = 'Tom'產生語法錯誤:如何在PHP類中定義一個數組屬性

<?php 

    class club { 
      var $clubID = 0;   
      var $players=array(); 

      function __constructor($clubID = '') {    
        $this->clubID = $clubID; 
      } 

      function populatePlayers() {  
        $this->players[] = 'Tom'; 
      }           
} 

     $myClub = new club(1); 
     $myClub->populatePlayers(); 
     var_dump($myClub->players); 
?> 
+1

@Akshay,請編輯時要小心!你向事先不存在的代碼引入了一個問題,現在大多數答案都是無效的! –

回答

2

應該

$this->players[] = 'Tom'; 

,而不是

$this->$players[] = 'Tom'; 

您需要在this關鍵字前添加$players變量不需要一個。

Demo

+0

即使這樣給予運行時錯誤: –

+2

@AmanKhanna,我不這麼認爲。請參見本https://eval.in/104496 –

+1

@AmanKhanna它的確定 –

0

試試這個

function populatePlayers() {  
     $this->players[] = 'Tom'; 
} 
+3

您不需要在'players'之前添加'$',因爲這會導致「致命」錯誤。 –

相關問題