2014-01-14 48 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