我有类,每个类都有一个与日期相关的成员变量,它总是具有相同的命名格式 - field_{$node->type}_date
例如,如果我的节点类型是'car',则会命名日期字段 field_car_date
所以我循环遍历所有节点,我想访问每个节点的日期相关字段.但是我收到了一个错误.这是代码
$date_field_key = 'field_' . $node->type . '_date';
if (isset($node->$date_field_key['und'][0]['value'])) {
Run Code Online (Sandbox Code Playgroud)
由于第二行,我收到错误.错误是 - Illegal string offset 'und'
与日期相关的变量是一个数组,它有一个带有'und'键的元素.如果我明确写出这一行$node->field_car_date['und'][0]['value']- 它运作正常.就在我动态创建字段名称时,我遇到了这个问题.
对此的任何解决方案,我的语法不正确?
您需要将键值包围,{}因为它是动态分配的变量.
在你的第二行,你有$node->$date_field_key['und'][0]['value']你应该拥有的地方:
$node->{$date_field_key}['und'][0]['value']
Run Code Online (Sandbox Code Playgroud)
注意{}周围的date_field_key
祝好运!
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |