2014-01-14 87 views
0

我是這裏的新手,特別是在php上,我需要你的幫助。使用for語句回聲某個類的某些屬性值

我有一門課,我在value課<上擴展了。

在那個類中我存儲了一些屬性,我想在for語句中打印它。

這裏是我的代碼,

class value extends bla{ 
    public function example(){ 
     $value_bla[1] = $this->value1_bla; 
     $value_bla[2] = $this->value2_bla; 
     $value_bla[3] = $this->value3_bla; 
     $value_bla[4] = $this->value4_bla; 
     $value_bla[5] = $this->value5_bla; 

     for($i = 1; $i <= 5; $i++){ 
      echo 'the value is: '.$value_bla[$i]."\n"; 
     } 
} 

$example = new value(); 
$example->example(); 

,但我希望我的代碼更簡單這樣,

class value extends bla{ 
    public function example(){ 
     for($i = 1; $i <= 5; $i++){ 
      echo 'the value is: '.$this->value.$i._bla."\n"; 
     } 
} 

$example = new value(); 
$example->example(); 

不幸的是給我一個錯誤

有人能告訴我怎麼做那簡單的代碼有效?

+0

在第二個php代碼片段中,您設置了您正在嘗試回顯的值? – chanchal118

+0

'$ this - > {'value'。$ i .'_ bla'}' - 你的值也從1開始,你的循環從0開始,但也許這只是你的示例代碼中的一個錯字? – Emissary

+0

這是我的第二個「bla」類,我已經將它擴展到了值類,是的,這是一個錯字 – Newbie123

回答

1

您需要使用大括號,如果你想使用一個變量(Check the documentation)引用變量:

class value extends bla{ 
    public function example(){ 
     for($i = 1; $i <= 5; $i++){ 
      echo 'the value is: '.$this->{'value'.$i.'_bla'}."\n"; 
     } 
} 

雖然,當你發現自己這樣做,有可能是一個更好的辦法。例如,您可以在您的bla類中使用關聯數組,這更有意義。

+0

謝謝@LeGEC。編輯英寸 – George

+0

嗨感謝您的Ogeez和使者,你的代碼完美的工作! :) – Newbie123

+0

嗨,我再次遇到麻煩,'$ i = 1'(for語句)'echo'bla'。 $ i - 1 .'bla';'但它只是print'-1'我試過使用括號,但它仍然給我一個錯誤 – Newbie123