Same name and namespace in other branches
  1. 4.6.x includes/common.inc \drupal_map_assoc()
  2. 5.x includes/common.inc \drupal_map_assoc()
  3. 6.x includes/common.inc \drupal_map_assoc()
  4. 7.x includes/common.inc \drupal_map_assoc()

Form an associative array from a linear array.

This function walks through the provided array and constructs an associative array out of it. The keys of the resulting array will be the values of the input array. The values will be the same as the keys unless a function is specified, in which case the output of the function is used for the values instead.

@result An associative array.

Parameters

$array: A linear array.

$function: The name of a function to apply to all values before output.

Related topics

13 calls to drupal_map_assoc()
aggregator_form_feed in modules/aggregator.module
Generate a form to add/edit feed sources.
aggregator_settings in modules/aggregator.module
Implementation of hook_settings().
archive_browse_form in modules/archive.module
Generate a form that retrieves archives for a certain date.
contact_admin_settings in modules/contact.module
Settings tab. Using a form rather than hook_settings().
forum_admin_configure in modules/forum.module
Implementation of hook_settings

... See full list

File

includes/common.inc, line 1162
Common functions that many Drupal modules will need to reference.

Code

function drupal_map_assoc($array, $function = NULL) {
  if (!isset($function)) {
    $result = array();
    foreach ($array as $value) {
      $result[$value] = $value;
    }
    return $result;
  }
  elseif (function_exists($function)) {
    $result = array();
    foreach ($array as $value) {
      $result[$value] = $function($value);
    }
    return $result;
  }
}