1 list.module list_allowed_values_string($values)

Generates a string representation of an array of 'allowed values'.

This string format is suitable for edition in a textarea.

Parameters

$values: An array of values, where array keys are values and array values are labels.

Return value

The string representation of the $values array::

  • Values are separated by a carriage return.
  • Each value is in the format "value|label" or "value".

File

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

Code

function list_allowed_values_string($values) {
  $lines = array();
  $previous_key = FALSE;

  foreach ($values as $key => $value) {
    // Convert groups.
    if (is_array($value)) {
      $lines[] = "<$key>";
      foreach ($value as $subkey => $subvalue) {
        $lines[] = "$subkey|$subvalue";
      }
      $previous_key = $key;
    }
    // Typical key|value pairs.
    else {
      // Exit out of any groups.
      if (isset($values[$previous_key]) && is_array($values[$previous_key])) {
        $lines[] = "<>";
      }
      // Skip empty rows.
      if ($values[$key] !== '') {
        $lines[] = "$key|$value";
      }
      $previous_key = $key;
    }
  }
  return implode("\n", $lines);
}