2015-11-20 40 views
1

我不確定是否可能,但我想傳遞一個隨機變量來填充數組。在PHP中傳遞數組中的動態變量

下面是代碼正常: -

//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

'$ VAL; $ ref = & $val; $ val = 0;/* ref現在爲0 */$ val ='t';/* ref現在是't'* /'這可以幫助你沿着你的道路前進。編輯:顛倒&= – x13

+1

非常感謝。我嘗試了這樣的事情,它完美地工作。 – Steve

回答

1

當您將任務分配到$this_users_status時,您正在製作一個陣列的副本。你需要分配給對象屬性中的數組。

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

或者你可以使用一個參考:

$this_users_status =& $user_fields->$user_field_name;