我正在尝试在Drupal 7中创建自定义用户配置文件。其中一个字段引用了用户对象,我无法弄清楚执行此操作的语法是什么。我已经读过应该使用"->",但我不确定具体如何使用。
print_r($user_object)
的结构位于: http://pastebin.mozilla.org/1741565
我正在尝试获取field_country[data]
中的数据 - 只是不确定该怎么做。
此外,当我尝试访问$user_object[user_relationships_ui]
时,什么都看不到。它不会抛出错误,但也不会打印任何内容。
感谢您的帮助
我想出如何做到这一点的方法是将对象转换为数组 -
$user_object= (array) $user_profile['field_country']['#object'];
之后,我可以将其作为普通数组访问。
php 中对象的属性必须由 ->property_name
访问。并且,当使用关联的数组时,使用 ['key_name']
.
在这里,$user_object[0]['user_relationship_ui']['#type']
为您提供#type
。
不要将对象与关联的数组混淆。
编辑:进一步解释,
并参见第 18、19 行:
[field_country] => Array (
[#theme] => field
请参阅第 31、32 行:
[#object] => stdClass Object (
[uid] => 1
不同之处在于,如果要访问#theme
,则必须使用['#theme']
来完成。如果你想 访问uid
,你必须做['#object']->uid
.