Use theme_get_setting to get a value I am using theme settings in my Drupal 7 theme to provide a theme option as follows:

$form['layout']['body_image_position'] = array(
  '#type' =&gt; 'select', 
  '#title' =&gt; t('How should Body Image be Positioned'), 
  '#options' =&gt; array(
        'body_image_position_right' =&gt; t('Image on Right'),
        'body_image_position_bottom' =&gt; t('Image on Left'),
        'body_image_position_left' =&gt; t('Image Below'),
         ),
  '#default_value' =&gt; 'body_image_position_right',


);

I then use theme_get_setting('body_image_position') to call the value of the setting.

Using this command returns the 'machine name' of the setting (e.g. 'body_image_position_right '). But I want the 'friendly name' (e.g. 'Image on Right'). How can I do this?
The easiest way would be to use a helper function to provide your positions which you can then reference back to. For example

// In the form function
$form['layout']['body_image_position'] = array(
  '#type' =&gt; 'select', 
  '#title' =&gt; t('How should Body Image be Positioned'), 
  '#options' =&gt; MYTHEME_position_settings()
  '#default_value' =&gt; 'body_image_position_right'
);

function MYTHEME_position_settings() {
  return array(
    'body_image_position_right' =&gt; t('Image on Right'),
    'body_image_position_bottom' =&gt; t('Image on Left'),
    'body_image_position_left' =&gt; t('Image Below'),
  );
}

// In the retrieval function
$key = theme_get_setting('body_image_position');
$settings = MYTHEME_position_settings();
$friendly_name = $settings[$key];


The form submission will essentially ignore the label for checkboxes/radios/select lists as it only deals with the key so you'll need to implement some sort of mechanism like this to get at your original labels.