“变量”语法

时间:2010-12-27 03:06:28

标签: drupal cck variable-variables

这是一个与获取Drupal CCK字段相关的问题(以防万一发生任何变化)。

我有几个名字相似的Drupal CCK字段。它们的名称与末尾的数字相同。我想从这些字段中提取值(总计十个字段)。这是访问字段值的语法:

$node->cck_field_1[0]['value']
$node->cck_field_2[0]['value']
$node->cck_field_3[0]['value']

...等

由于它们都是单独的字段,但是它们已编号,我想循环逐步地写出我需要的内容(除了访问这些字段的数据之外,还有更多我正在撰写的内容,但它们是其余部分的决定因素),但我无法弄清楚如何将变量插入代码的那一部分。

例如,(如果$i是增量数字变量),我希望能够将以下字符串写为变量:

'$node->cck_field_' . $i . '[0]["value"]'

我理解使用花括号从字符串创建变量名称,但我需要变量的部分需要在字符串之外。例如这有效:

${node}->cck_field_1[0]['value']

但这不是:

${node->cck_field_1}[0]['value']

(所以我不能写${'node->cck_field'.$i}[0]['value']

那么如何写这个以便我可以使用$ i代替数字?

1 个答案:

答案 0 :(得分:6)

这应该有效:

$node->{'cck_field_' . $i}[0]['value']