在PHP

时间:2015-11-20 00:11:15

标签: 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";
// 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);

不幸的是,这不起作用。

知道如何实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

当您对$this_users_status进行分配时,您正在制作数组的副本。您需要在object属性中分配数组。

$user_fields->{$user_field_name}['und'][0]['value'] = "Started";

或者您可以使用参考:

$this_users_status =& $user_fields->$user_field_name;