Доступ к переменным переменным с помощью объекта

Я действительно не знаю, как описать эту проблему, поэтому извините, если название немного неясно.

Я получил объект с полями массива. Я получил имя этих полей, хранящихся в переменной, и я хочу получить элемент в одном из этих полей массива. например

$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 ответа

Решение

Я думаю, вы должны использовать что-то вроде следующего:

$object->{$field_name}[0]

Это подробно описано в разделе "Переменные переменные" руководства по PHP: http://www.php.net/manual/en/language.variables.variable.php

Кстати, по моему опыту, такой способ манипулирования полями может привести к незаметности кода - я бы порекомендовал использовать ассоциативные массивы, если это возможно.

Попробуй это:

$object->{$field_name}[0]
Другие вопросы по тегам