Same name and namespace in other branches
  1. 4.6.x includes/common.inc \drupal_map_assoc()
  2. 4.7.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

14 calls to drupal_map_assoc()
aggregator_admin_settings in modules/aggregator/aggregator.module
aggregator_form_feed in modules/aggregator/aggregator.module
Generate a form to add/edit feed sources.
contact_admin_settings in modules/contact/contact.module
forum_admin_settings in modules/forum/forum.module
node_configure in modules/node/node.module
Menu callback; presents general node configuration options.

... See full list

File

includes/common.inc, line 1460
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;
  }
}