我认为这同样是一个像PHP问题一样的drupal问题.
我有以下print_r($ node)数组
stdClass Object
(
[vid] => 4
...
[field_imgleft] => Array
(
[und] => Array
(
[0] => Array
(
[value] => defaultimgleft
[format] =>
[safe_value] => defaultimgleft
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
field_imgleft是节点的内容类型中的字段.由于只有一个值,[0]是该数组的最大值.我试图将[value]的值返回给变量,但是我没有运行node-> methods或node [...]等等.
有一个内置的API函数可以从实体中提取字段值:field_get_items()
.
您可以像这样使用它:
$items = field_get_items('node', $node, 'field_imgleft');
$first_item = array_shift($items);
$value = $first_item['value'];
Run Code Online (Sandbox Code Playgroud)
建议使用此方法直接访问数组,因为它会为您处理字段转换...无需担心再使用它'und'
.