Search code examples
phparraysvariable-variables

Access Variable variables with an object


I don't really know how to decribe this problem, so I'm sorry if the title is a bit unclear.

I got an object with array fields. I got the name of these fields stored in a variable and I want to reach an element in one of those array fields. e.g.

$field_name = 'array_field';

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

I know i can access the array with $object->$field_name, but now I want to access a value by key in the array while accessing it with the $field_name variable. e.g.(that obviously does not work) $object->$field_name[0]


Solution

  • I think, you should use something like the following:

    $object->{$field_name}[0]
    

    It's described in details in "Variable variables" section of PHP manual: http://www.php.net/manual/en/language.variables.variable.php

    BTW, according to my experience, such way of fields manipulation may lead to code obscurity - I'd recommend to use associative arrays, if possible.