我真的不知道如何解释这个问题,所以如果标题有点不清楚,我很抱歉。
我有一个带有数组字段的对象。我得到了存储在变量中的这些字段的名称,我希望在其中一个数组字段中找到一个元素。 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]
答案 0 :(得分:14)
我认为,您应该使用以下内容:
$object->{$field_name}[0]
在PHP手册的“变量变量”部分详细描述:http://www.php.net/manual/en/language.variables.variable.php
BTW,根据我的经验,这种字段操作方式可能导致代码模糊 - 如果可能的话,我建议使用关联数组。答案 1 :(得分:3)
试试这个:
$object->{$field_name}[0]