2010-10-23 2 views
4

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

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

$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, согласно моему опыту, такой способ манипулирования полями может привести к неясности кода - I Рекомендуем использовать ассоциативные массивы, если это возможно.

+0

Спасибо! Работает как шарм. Наверное, я слепой, потому что я не мог найти его там, или я просто не знал, что искать – Barthje

+0

. Я проверю более ясный способ, если это возможно, спасибо :) – Barthje

Смежные вопросы