When you submit the form, the value is presented with debug_dump(), so strings are quoted and array values listed.
<?php $items = array( 'A' => 'Item A', 'B' => 'Item B', 'C' => 'Item C', 'D' => 'Item D', 'E' => 'Item E', ); $groups = array( 'B' => 'Group 1', 'C' => 'Group 1', 'D' => 'Group 2', 'E' => NULL, ); $field = new form_field_select($form, 'Items'); $field->options_set($items); $field->options_group_set($groups); // Just remove if you don't want to group the items $field->label_option_set(''); $field->required_error_set('An item is required.'); // $value = $this->value_get(); // $value = $this->value_key_get(); ?>