public static function MapArray::copyValuesToKeys

Forms 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.

Parameters

array $array: A linear array.

callable $callback: A name of a function to apply to all values before output.

Return value

array An associative array.

2 calls to MapArray::copyValuesToKeys()
drupal_map_assoc in drupal/core/includes/common.inc
Forms an associative array from a linear array.
MapArrayTest::testCopyValuesToKey in drupal/core/tests/Drupal/Tests/Component/Utility/MapArrayTest.php
Tests MapArray::copyValuesToKey() input against expected output.

File

drupal/core/lib/Drupal/Component/Utility/MapArray.php, line 32
Contains \Drupal\Component\Utility\MapArray.

Class

MapArray
Provides generic array mapping helper methods.

Namespace

Drupal\Component\Utility

Code

public static function copyValuesToKeys(array $array, $callable = NULL) {

  // array_combine() fails with empty arrays:
  // http://bugs.php.net/bug.php?id=34857.
  if (!empty($array)) {
    $array = array_combine($array, $array);
  }
  if (is_callable($callable)) {
    $array = array_map($callable, $array);
  }
  return $array;
}