Доброго времени суток. Не могу понять как изменить. Код (Text): $_func = '$this->'.$option_values['use_function']; eval($_func.'\''.$option_values['value'].'\''.', \''.$option_name."');"); $option_values['use_function'] - тянет из БД, например radio(array('true', 'false'), $option_values['value'] - это аргумент функции $option_name - это аргумент функции radio - это функция в этом же классе, в нее и падаю вышеуказанные аргументы. Первым идет массив array('true', 'false'), а потом уже $value, $name Вот она(есть и другие, для select, input и т.д...) Код (Text): function radio($_array, $value, $name) { if (!empty($_array) && is_array($_array)) { foreach ($_array as $_val) { if ($_val == $value) $radio = '<input type="radio" name="'.$name.'" checked value="'.$_val.'"> <b>'.$__val.'</b>'; else $radio = '<input type="radio" name="'.$name.'" value="'.$_val.'"> <b>'.$__val.'</b>'; } } return $radio; } Мне нужно передать в массив то, что вернула функция которая получается из eval(), а полученный массив я уже передаю в шаблон через smarty... не получается вернуть результат radio() в массив. Что тут можно сделать? Если не очень подробно описал - уж простите. Выдернул из кода самое основное. Добавлено спустя 54 минуты 46 секунд: Все. Понял как получить результат eval. Код (Text): $_func = '$result = $this->'.$option_values['use_function']; eval($_func.'\''.$option_values['value'].'\''.', \''.$option_name."');"); echo $result;