在php中连接

时间:2014-01-23 15:43:25

标签: php

我有下一个情况,假设我有一个具有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};
}

并取消额外的线...我已经尝试了几种形式的连接,但我无法弄明白。任何人都可以告诉我它是否可能以及如何。

2 个答案:

答案 0 :(得分:1)

那是因为您没有使用+=,在连接时使用.=: - )

请仔细阅读:http://www.php.net/manual/en/language.operators.string.php

答案 1 :(得分:0)

你可以这样做:

$sum += $this->{'r'.$i};

具有这样的多重属性对我来说听起来像是一个问题。你为什么不用数组?