2013-03-07 300 views
2

我想要一个动态属性名称如下:PHP动态变量名称

$_taxVocabName = 'name'; 
$node->field_ . $_taxVocabName; 

这应该叫:

$node->field_name 

我怎样才能做到这一点?

我在php.net或其他地方找不到任何东西。

感谢萨沙

+0

http://php.net/manual/en/language.variables.variable.php这就是你想要的我认为 – Oli 2013-03-07 13:12:53

+0

http://stackoverflow.com/questions/9257505/dynamic-variable-names-php - 这应该有助于 – 2013-03-07 13:13:10

+1

'$ node - > {'field_'。 $ _taxVocabName}' – Federkun 2013-03-07 13:13:47

回答

5

两种方式:

首先,使用一个变量:

$property = 'field_' . $_taxVocabName; 

$node->$property; 

其次,使用大括号:

$node->{'field_' . $_taxVocabName}; 
1

我会想一个更好的办法做到这一点是

$taxVocabName = "name"; 
$property = "field_" . $taxVocabName; 

那么你就必须设置的变量,当然值...

像这样:

$$property = "My variable variable"; 

或:

$field_name = "My variable variable"; 

我知道这是一个有点迟,但也许这会帮助其他人在路上。