我有下一个情况,假设我有一个具有10个属性的对象,名为r1,r2,r3 ... r10。现在我想动态提取每个属性的值。为此我做了这样的事情并且知道它会起作用
$sum = 0;
for($i = 1; $i <= 10; $i ++){
$key = "r{$i}";
$sum += $this->$key;
}
这是一个有代表性的例子,我想知道的是,如果不是这样做,我可以做类似的事情
for($i = 1; $i <= 10; $i ++){
$sum += $this->r{$i};
}
并取消额外的线...我已经尝试了几种形式的连接,但我无法弄明白。任何人都可以告诉我它是否可能以及如何。
答案 0 :(得分:1)
那是因为您没有使用+=
,在连接时使用.=
: - )
请仔细阅读:http://www.php.net/manual/en/language.operators.string.php
答案 1 :(得分:0)
你可以这样做:
$sum += $this->{'r'.$i};
具有这样的多重属性对我来说听起来像是一个问题。你为什么不用数组?