4

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]

1
  • Use arrays, dude. Variable variables are lame. Commented Oct 23, 2010 at 6:30

2 Answers 2

14

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks! Works like a charm. I guess I'm blind because I couldn't find it there or I just didn't know what to look for
3

Try this:

$object->{$field_name}[0]

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.