1 list.module list_allowed_values($field, $instance = NULL, $entity_type = NULL, $entity = NULL)

Returns the array of allowed values for a list field.

The strings are not safe for output. Keys and values of the array should be sanitized through field_filter_xss() before being displayed.


$field: The field definition.

$instance: (optional) A field instance array. Defaults to NULL.

$entity_type: (optional) The type of entity; e.g. 'node' or 'user'. Defaults to NULL.

$entity: (optional) The entity object. Defaults to NULL.

Return value

The array of allowed values. Keys of the array are the raw stored values: (number or text), values of the array are the display labels.


core/modules/field/modules/list/list.module, line 254
Defines list field types that can be used with the Options module.


function list_allowed_values($field, $instance = NULL, $entity_type = NULL, $entity = NULL) {
  $allowed_values = &backdrop_static(__FUNCTION__, array());

  if (!isset($allowed_values[$field['field_name']])) {
    $function = $field['settings']['allowed_values_function'];
    // If $cacheable is FALSE, then the allowed values are not statically
    // cached.
    $cacheable = TRUE;
    if (!empty($function)) {
      $values = $function($field, $instance, $entity_type, $entity, $cacheable);
    else {
      $values = $field['settings']['allowed_values'];

    if ($cacheable) {
      $allowed_values[$field['field_name']] = $values;
    else {
      return $values;

  return $allowed_values[$field['field_name']];