Php 使用变量时:致命错误:无法将字符串偏移量用作数组

Php 使用变量时:致命错误:无法将字符串偏移量用作数组,php,Php,以下代码: $field = 'field_total_comments_added'; $current_user_count = $user_data->$field['und']['0']['value']; 返回错误:致命错误:无法将字符串偏移量用作数组 如果我只是使用: $current_user_count = $user_data->field_total_comments_added['und']['0']['value']; 代码运行得很好。为了使用一些自定义功

以下代码:

$field = 'field_total_comments_added';
$current_user_count = $user_data->$field['und']['0']['value'];
返回错误:致命错误:无法将字符串偏移量用作数组

如果我只是使用:

$current_user_count = $user_data->field_total_comments_added['und']['0']['value'];
代码运行得很好。为了使用一些自定义功能,我必须使用第一个代码块中显示的变量。我怎样才能解决这个问题

如果你不清楚这个问题,请告诉我

提前感谢您的帮助

请尝试:

$field = 'field_total_comments_added';
$current_user_count = ($user_data->$field)['und']['0']['value'];
它可能只适用于PHP5.4。对于早期版本,还可以尝试:

$field = 'field_total_comments_added';
$item = $user_data->$field;
$current_user_count = $item['und']['0']['value'];

您可以使用以下常见解决方法:

$current_user_count = $user_data->{$field}['und']['0']['value'];
这基本上强制变量属性名优先于数组访问运算符