Передача динамической переменной в массив в PHP

1

Я не уверен, возможно ли это или нет, но я пытаюсь передать случайную переменную, чтобы заполнить массив.

Вот код обычно: -

//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 переменную 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
    $val; $ref =& $val; $val = 0; /*ref is 0 now*/ $val = 't'; /*ref is 't' now*/ это может помочь вам на вашем пути. РЕДАКТИРОВАТЬ: перевернутый & =
  • 1
    Большое спасибо. Я попробовал что-то подобное, и это сработало отлично.
Теги:
arrays

1 ответ

1
Лучший ответ

Вы делаете копию массива, когда выполняете присваивание $this_users_status. Вам нужно назначить массив в свойстве объекта.

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

Или вы можете использовать ссылку:

$this_users_status =& $user_fields->$user_field_name;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню