再來是變數指向問題
以下是函數
class TryClass {
public $val = 'Value';
public function echoValue(){
echo $this->val;
}
public function echoHelloWolrd (){
echo 'Hello World!!';
}
}
$a = new TryClass;
//new一個新的TryClass
$a->echoHelloWolrd();
//呼叫$a的echoHelloWolrd()
TryClass::echoHelloWolrd();
//直接呼叫TryClass的echoHelloWolrd()
echo $a->val;
//秀出$a裡$val的值
$a->echoValue();
//呼叫$a的echoValue()
//TryClass::echoValue();
//直接呼叫TryClass的echoValue()##不執行##
原因是$a是被new出來的
所以記憶體裡面有public $val = 'Value';
而echoValue()裡面的$this->val;只是存的指向
但是echoHelloWolrd ()卻是實質的給了記憶體一個字串而不是指向
沒有留言:
張貼留言