2011-05-04 75 views
1

是有一个较短的方式来实现以下目标:动态属性调用

$i = 1; 
$prop = 'image' . $i; 
$image = $this->getObject->$prop; 

我心目中有类似

$image = $this->getObject->image{$i}; 

什么想法?

+1

阅读这个http://www.php.net/manual/en/function.call-user-func.php – diEcho 2011-05-04 09:40:35

回答

7

如何:

$this->getObject->{'image'.$i}; 
+0

我认为这不是一个快捷方式 – diEcho 2011-05-04 09:37:14

+0

作品就像一个魅力。你有没有想法做到这一点,但有一种方法? – Flask 2011-05-04 09:50:12

+0

@Flask:你的意思是访问一个对象的方法?它以同样的方式工作,你只需要添加括号来调用方法。但是,作为@diEcho提出的'call_user_func'可能会更好。 – 2011-05-04 09:52:49

1

更好的解决方案将是使所有图像的数组,然后调用它像这样:

$this->getObject->image[$i] 

这将是更快,往往是多比一堆不同的变量更容易处理。