使用对象访问变量变量

时间:2010-10-23 06:13:53

标签: php arrays variable-variables

我真的不知道如何解释这个问题,所以如果标题有点不清楚,我很抱歉。

我有一个带有数组字段的对象。我得到了存储在变量中的这些字段的名称,我希望在其中一个数组字段中找到一个元素。 e.g。

$field_name = 'array_field';

$object = new stdClass();
$object->array_field= array('this', 'is', 'an', 'array);

我知道我可以使用$object->$field_name访问数组,但现在我想在使用$field_name变量访问数组时按键访问数组。例如(显然不起作用)$object->$field_name[0]

2 个答案:

答案 0 :(得分:14)

我认为,您应该使用以下内容:

$object->{$field_name}[0]

在PHP手册的“变量变量”部分详细描述:http://www.php.net/manual/en/language.variables.variable.php

BTW,根据我的经验,这种字段操作方式可能导致代码模糊 - 如果可能的话,我建议使用关联数组。

答案 1 :(得分:3)

试试这个:

$object->{$field_name}[0]