2013-03-22 99 views
0

在我的控制器我有這樣的:

$this->data['post'] = $this->mdl_posts->get_post_by_slug($slug); 
var_dump($this->data['post']); 
die(); 

輸出是

然而,當我將其更改爲:

$data['post'] = $this->mdl_posts->get_post_by_slug($slug); 
var_dump($data['post']); 
die(); 

我得到整個陣列的不錯的var_dump如我所願。

我的問題是爲什麼var_dump或print_r不能與$this->data['post']並且僅與$data['post']一起使用。

我使用$這 - >數據,而不是$的數據,因爲我是從構造函數發送一些變量的方法等,所以我需要使用像$這個 - >數據...

+0

什麼是'$ this'這裏? – raina77ow 2013-03-22 15:34:40

回答

1

$this->data會意味着data是您正在操作的課程的成員。 data必須是您正在操作的方法的本地變量,但不是您班級的成員。

class MyClass { 

    private $member = "123"; 

    public function __construct() { 
     $this->methodCall("abc"); 
    } 

    public function methodCall($nonMember) { 
     echo $nonMember;  // valid 
     echo $this->member; // valid 
     echo $this->nonMember; // not valid 
    } 

} 
相關問題