Intereting Posts
«Отображение результатов X-Y из Z» с использованием библиотеки разбиения на страницы Codeigniter? Код для переноса содержимого таблицы с локального сервера на удаленный сервер с помощью PHP перенаправление symfony с двумя параметрами Symfony2 ManytoMany двунаправленное отношение – как сохранить вручную Xpath не ведет себя для разбора базового html Как использовать настройки доктрины Master / Slave из команд Symfony2 Console password_verify не будет работать после сохранения в базе данных Facebook Developer – Список страниц Facebook для отдельных категорий Как разрабатывать, подделывая логин для тестирования ACL в Symfony 2 Использование PHPExcel для экспорта в xlsx Индексирование Google XSLT-страниц Как отключить / уничтожить все данные сеанса, кроме некоторых определенных ключей? Что такое add_action ('init Добавление новой таблицы в rest api preashop webservice как проверить путь к файлу – это изображение или нет в php?

Как получить доступ к динамическому свойству с помощью переменной?

Видеть:

$class_members = get_class_vars(__CLASS__); foreach($class_members as $key => $value) { if (strpos($key, '_output') === 0) { // I want to eval() this $code = '$this->' . $key . ' = 0;'; } } 

Предположим, я хочу присвоить значение 0 всем членам класса, начинающимся с _output . Я планирую использовать eval . Хорошая или плохая идея?

Для этого вам не нужен eval() . Вы можете использовать переменную как в $this->{$key} :

 foreach($class_members as $key => $value) { if (strpos($key, '_output') === 0) { // Look mom, no eval()! $this->{$key} = 0; } } 

Вы можете просто сделать:

 $this->{$key} = 0; 

Есть только несколько ситуаций, когда eval не считается evil .

И это не один из них 🙂