我不确定它是否可能,但我试图传递一个随机变量来填充数组。
以下是代码: -
//Loading all data of user in an array variable.
$user_fields = user_load($user->uid);
// Updated one array variable in this array.
$user_fields -> field_module_3_status['und'][0]['value'] = "Started";
// Saved back the updated user data
user_save($user_fields);
但我想通过变量动态提供变量field_module_3_status
。
因此假设我有$user_field_name = field_module_3_status
。
所以我试图做的是: -
$user_fields = user_load($user->uid);
$this_users_status = $user_fields -> $user_field_name;
$this_users_status['und'][0]['value'] = "Started";
user_save($user_fields);
不幸的是,这不起作用。
知道如何实现这个目标吗?
答案 0 :(得分:1)
当您对$this_users_status
进行分配时,您正在制作数组的副本。您需要在object属性中分配数组。
$user_fields->{$user_field_name}['und'][0]['value'] = "Started";
或者您可以使用参考:
$this_users_status =& $user_fields->$user_field_name;