如何在Drupal中动态分配字段名称


How to assign field name dynamically in Drupal

我有Drupal 7站点。它有一个自定义的内容类型节点,它有25个以上的字段,其中10个字段的名称非常相似。

在一个场景中,我需要遍历n个乘积&需要获取不同的字段值。

为了避免if-else链,我正在考虑以以下方式动态构建字段名。

function GetProduct($node,$a)
{
     $fieldName = "field_product_" . $a;
     print_r( $node->$fieldName[LANGUAGE_NONE][0]['value'] ); // not getting value
}

我使用php v 5.5.12

如何以这种方式获取字段值?

非常感谢您的帮助。

您刚刚忘记了大括号:)使用$node->{$fieldName}而不是$node->$fieldName:

print_r( $node->{$fieldName}[LANGUAGE_NONE][0]['value'] ); // works