summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc17
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;
}
/**