2013-02-21 111 views
0

當我運行此代碼時,我只得到「在構造函數」被打印出來。PHP私人數組訪問從成員函數

爲什麼我看不到要打印的數組?

Apache日誌顯示沒有錯誤。 PHP語法檢查器顯示沒有錯誤。

<?php 
//---- User Class ----  
class User { 
    private $list; 

    function __construct() { 
     echo "in constructor"; 
     $this->$list = array(1, 2, 5); 
     } 

    function printAll() { 
     print_r($this->$list); 
    } 

} // end Class 

$foo = new User(); 
$foo->printAll(); 
?> 

回答

3

一個$不怎麼樣,試試這個

當我運行這段代碼,我得到的只是「在構造函數」被打印出來。

爲什麼我看不到要打印的數組?

Apache日誌顯示沒有錯誤。 PHP語法檢查器顯示沒有錯誤。

class User { 
    private $list; 

    function __construct() { 
     echo "in constructor"; 
     $this->list = array(1, 2, 5); 
     } 

    function printAll() { 
     print_r($this->list); 
    } 
} 
+0

也許你應該公開該功能?公共函數printAll(){}(這是一個瘋狂的猜測) – Biketire 2013-02-21 16:06:57

+0

public缺省 – silly 2013-02-21 16:08:35

+1

在'printAll()'上缺少一個右括號。 – 2014-09-15 17:23:23

0

是$這個 - > VARNAME 是我們混合一些時間正確的語法。

class Cname { 
    var $name; 

    function setName($nam) 
    { 
     $this -> name = $nam; 
    } 
    }