diff options
-rw-r--r-- | includes/common.inc | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/includes/common.inc b/includes/common.inc index b6b315b6e..683cb16b2 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -2993,20 +2993,11 @@ function drupal_exit($destination = NULL) { * An associative array. */ 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; + $array = array_combine($array, $array); + if (is_callable($function)) { + $array = array_map($function, $array); } + return $array; } /** |