Intereting Posts
Сортировка многомерного массива по определенному ключу Laravel 4 Redirect :: action () «Маршрут не определен» Как загрузить / сохранить несколько изображений в базе данных mysql в php SQLSTATE Доступ запрещен для пользователя «имя пользователя» @ «localhost» с использованием CakePhp http: //localhost/index.php перенаправление на http: // localhost / xampp / Этот запрос PDO :: FETCH_ASSOC` пропускает первый результат, который возвращается Ajax, javascript отправлять переменную на другую страницу, при нажатии Smarty (и другие tpn ngins): assign и assign_by_ref PayPal IPN симулятор возвращается «INVALID», но я следил за правилами SQLSTATE : базовая таблица или представление не найдены: 1146 Таблица X не существует Symfony 2 Создайте поле формы объекта с двумя свойствами PHP – «print / echo», отображающий закрывающие теги – или не выводит Google API PHP офлайн-доступ, «invalid_grant: код уже был выкуплен» Ошибка: Ошибка сервера: не удалось открыть файл «Capture.png» Получить URL-адрес вызывающей веб-страницы в PHP

Динамическое имя PHP для свойства объекта

Вместо того, чтобы использовать

$object->my_property 

Я хочу сделать что-то подобное

 $object->"my_".$variable 

Solutions Collecting From Web of "Динамическое имя PHP для свойства объекта"

Используйте фигурные скобки следующим образом:

 $object->{'my_' . $variable} 

Как насчет этого:

 $object->{"my_$variable"}; 

Я полагаю, что этот раздел документации PHP может быть полезен. Короче говоря, можно писать любое произвольное выражение в фигурных скобках; его результат (строка) становится именем свойства, которое необходимо устранить. Например:

 $x = new StdClass(); $x->s1 = 'def'; echo $x->{'s' . print("abc\n")}; // prints // abc // def 

… но, как правило, гораздо читабельнее хранить результат этого выражения во временную переменную (которой, btw, может быть дано значимое имя). Как это:

 $x = new StdClass(); $x->s1 = 'def'; $someWeirdPropertyName = 's' . print("abc\n"); // becomes 's1'. echo $x->$someWeirdPropertyName; 

Как вы видите, этот подход делает ненужными фигурные скобки и дает читателю хотя бы некоторое описание того, что составляет имя свойства. )

PS print используется только для иллюстрации потенциальной сложности выражения имени переменной; в то время как этот тип кода обычно используется в сертификационных тестах, это большой «нет-нет» для использования таких вещей в производстве. )