Question

Given the following select list for the "field_priority" field, how can I display the label, given the key (e.g. 0, 1, 3)?

0|Low
1|Medium
2|High
3|Urgent
Was it helpful?

Solution

You can get it nice and quickly using field_info_field():

$key = 0; // Or whatever
$field = field_info_field('field_priority');
$label = $field['settings']['allowed_values'][$key];

There's a whole host of field functions in field.info.inc, they're very handy.

OTHER TIPS

I would suggest to use list_allowed_values() instead of searching the array yourself:

$field = field_info_field('field_priority');
$options = list_allowed_values($field);
$label = $values[$key];

Or in short:

$label = list_allowed_values(field_info_field('field_priority'))[$key];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top