public static function BetterExposedFiltersHelper::flattenOptions in Better Exposed Filters 8.4
Same name and namespace in other branches
- 8.5 src/BetterExposedFiltersHelper.php \Drupal\better_exposed_filters\BetterExposedFiltersHelper::flattenOptions()
Flattens list of mixed options into a simple array of scalar value.
Parameters
array $options: List of mixed options - scalar, translatable markup or taxonomy term options.
bool $preserve_keys: TRUE if the original keys should be preserved, FALSE otherwise.
Return value
array Flattened list of scalar options.
5 calls to BetterExposedFiltersHelper::flattenOptions()
- BetterExposedFiltersHelper::rewriteOptions in src/
BetterExposedFiltersHelper.php - Rewrites a set of options given a string from the config form.
- BetterExposedFiltersHelper::sortNestedOptions in src/
BetterExposedFiltersHelper.php - Sort nested options alphabetically.
- BetterExposedFiltersHelper::sortOptions in src/
BetterExposedFiltersHelper.php - Sort options alphabetically.
- Links::exposedFormAlter in src/
Plugin/ better_exposed_filters/ filter/ Links.php - Manipulate views exposed from element.
- RadioButtons::exposedFormAlter in src/
Plugin/ better_exposed_filters/ filter/ RadioButtons.php - Manipulate views exposed from element.
File
- src/
BetterExposedFiltersHelper.php, line 119
Class
- BetterExposedFiltersHelper
- Defines a helper class for better exposed filters.
Namespace
Drupal\better_exposed_filtersCode
public static function flattenOptions(array $options, $preserve_keys = FALSE) {
$flat_options = [];
foreach ($options as $key => $choice) {
if (is_array($choice)) {
$flat_options = array_merge($flat_options, self::flattenOptions($choice));
}
elseif (is_object($choice) && isset($choice->option)) {
$key = $preserve_keys ? $key : key($choice->option);
$flat_options[$key] = current($choice->option);
}
else {
$flat_options[$key] = (string) $choice;
}
}
return $flat_options;
}