Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 7 访问Profile2字段的奇怪行为_Drupal 7_Drupal Modules - Fatal编程技术网

Drupal 7 访问Profile2字段的奇怪行为

Drupal 7 访问Profile2字段的奇怪行为,drupal-7,drupal-modules,Drupal 7,Drupal Modules,我在用这个。我有一些自定义字段,大多数情况下都工作得很好 在我的模块中有一个hook\u user\u update()函数,我想根据Profile2字段的值执行操作。我正在以管理用户的身份对其进行测试,编辑用户配置文件并保存 钩子函数包含以下内容: var_dump($info[$role]->$field); 并输出: array(1) { ["und"]=> array(1) { [0]=> array(3) { ["value"]=

我在用这个。我有一些自定义字段,大多数情况下都工作得很好

在我的模块中有一个
hook\u user\u update()
函数,我想根据Profile2字段的值执行操作。我正在以管理用户的身份对其进行测试,编辑用户配置文件并保存

钩子函数包含以下内容:

var_dump($info[$role]->$field);
并输出:

array(1) {
  ["und"]=>
  array(1) {
    [0]=>
    array(3) {
      ["value"]=>
      string(16) "/producer/my-biz"
      ["format"]=>
      NULL
      ["safe_value"]=>
      string(16) "/producer/my-biz"
    }
  }
}
…这是正确的。因此,我应该能够轻松地获得值(或
safe\u值

但当我这么做的时候:

var_dump($info[$role]->$field['und'][0]['value']); 
var_dump($info[$role]->$field['und']);
我明白了:

致命错误:无法在第155行的//sites/all/modules/ssvalidate/ssvalidate.module中将字符串偏移量用作数组*

当我这样做时:

var_dump($info[$role]->$field['und'][0]['value']); 
var_dump($info[$role]->$field['und']);
我明白了:

空的

这怎么可能?当我查看整个字段数组时,它包含所有内容。只要我尝试访问该(嵌套)数组的元素,事情就会变得一团糟


有人知道会发生什么吗?

当使用变量作为PHP对象键时,请尝试将其包装在括号中:{}。即$信息[$role]->{$field}['und'][0]['value']将变量用作PHP对象键时,请尝试将其包装在括号中:{}。即$信息[$role]->{$field}['und'][0]['value']