PHP
class animal{
public $name="";
public $color="";
public $age="";
function getInfo(){return $this->name;}
function setInfo($name){return $this->name;}//編譯器提示警告
}
$pig=new animal();
$pig->setInfo('豬');
$name=$pig->getInfo();//編譯器提示錯誤
echo $name;
?>
回複討論(解決方案)
求幫忙!!幫我看看那裡出錯了!
$pig=new animal();$pig->setInfo('豬');//是這行錯了,你的分號為全形的分號。$name=$pig->getInfo();//編譯器提示錯誤echo $name;/**另外:以後發代碼,格式化了吧*/
前一行是全形的分號?
謝謝你!已經改過了!但是沒有結果的?
不是應該輸出一個"豬"字嗎?
name;}function setInfo($name){return $this->name;}//編譯器提示警告}$pig=new animal();$pig->setInfo('豬');$name=$pig->getInfo();//編譯器提示錯誤echo $name;?>
name = $name; } function getname(){ return $this->name; }}$p = new person();$p->setname('lizhi');echo $p->getname();?>
坐等高手!!
你的代碼我調式過了是可以的,但是我的為什麼不行,能幫忙找出原因嗎?
為什麼會報錯,
是因為你第10行有個大寫分號,
為什麼沒輸出“豬”
試試
function setInfo($name){return $this->name;}//編譯器提示警告
改成
function setInfo($name){$this->name = $name;}//編譯器提示警
你的setInfo函數並沒有給$name屬性賦值,而是直接返回了$this->name
function setInfo($name){$this->name = $name;}
你的代碼我調式過了是可以的,但是我的為什麼不行,能幫忙找出原因嗎?
function setInfo($name){return $this->name;}
這裡沒有任何賦值操作,所以仍然為原值(空)
class animal{ public $name=""; public $color=""; public $age=""; function getInfo(){ return $this->name; } function setInfo($name){ $this->name = $name; //這裡應該是賦值,想必你複製錯了 }}$pig=new animal();$pig->setInfo('豬'); //這裡原來是全形的;$name=$pig->getInfo();echo $name;
你的代碼我調式過了是可以的,但是我的為什麼不行,能幫忙找出原因嗎?
class animal{private $name;function setInfo($name){ $this->name = $name;}function getInfo(){ return $this->name;}}$pig=new animal();$pig->setInfo('lizhi');$name=$pig->getInfo();//編譯器提示錯誤echo $name;
應該是setInfo()這裡沒有賦值!謝謝你們!!