这是一个与获取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代替数字?
答案 0 :(得分:6)
这应该有效:
$node->{'cck_field_' . $i}[0]['value']