Iterates over an array and returns a flat array with duplicate keys removed.
This function also handles cases where objects are passed as array values.
function _form_options_flatten($array) {
$return =& drupal_static(__FUNCTION__);
foreach ($array as $key => $value) {
if (is_object($value)) {
_form_options_flatten($value->option);
}
elseif (is_array($value)) {
_form_options_flatten($value);
}
else {
$return[$key] = 1;
}
}
return $return;
}