在PHP内的数组中传递动态变量

在PHP内的数组中传递动态变量,php,arrays,Php,Arrays,我不确定这是否可能,但我正在尝试传递一个随机变量来填充数组 以下是代码:- //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"; // S

我不确定这是否可能,但我正在尝试传递一个随机变量来填充数组

以下是代码:-

//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\u module\u 3\u status

因此,假设我有
$user\u field\u name=field\u module\u 3\u 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);
不幸的是,这不起作用


知道我该如何实现这一点吗?

当您向
$this\u users\u status
分配任务时,您正在制作数组的副本。您需要在对象属性中指定给数组

$user_fields->{$user_field_name}['und'][0]['value'] = "Started";
或者您可以使用参考:

$this_users_status =& $user_fields->$user_field_name;

$val$ref=&$val$val=0/*ref现在为0*/$val='t'/*ref现在是't'*/
这可以帮助您沿着自己的道路前进。编辑:反向&=非常感谢。我试过这样的东西,效果很好。