Seems like unserialize being three to four times faster than eval. So I think that it might be faster to serialize the array before saving it in the table and using unserialize to get it back.
Example (shortened):
$arr = Array('First name','last name');
$arr = mysql_escape_string(serialize($arr));
mysql_query("INSERT INTO .... VALUES (...,'$arr',....)");
//then store the array in the table.
/-------------
// to get it back
$res = mysql_query("SELECT form_values FROM .....");
$row = mysql_fetch_array($res);
$arr = unserialize($row['form_values']);
I also tested the speed compared to a solution wher I defined all the values in an include script instead of storing them in a table. The require_once took (about two times) longer than the unserialize itself.
I didn't measure the time it takes to get the data itself out of the table. Just play around a little bit yourself. Use eval, serialize/unserialize and try to use includes instead of the database and use the solution you like more.
So unserialize won the little contest, eval was second and require_once/require/include was slowest.
I used test data. Depending on the data you have the results could look a little bit different in your case.
Thomas