Array копирует значения в ключи в PHP

У меня есть этот массив:

$a = array('b', 'c', 'd'); 

Есть ли простой способ преобразования массива в следующее?

 $a = array('b' => 'b', 'c' => 'c', 'd' => 'd'); 

Solutions Collecting From Web of "Array копирует значения в ключи в PHP"

$final_array = array_combine($a, $a);

http://php.net/array-combine

PS

* Будьте осторожны с аналогичными значениями. Например:
array('one','two','one') может быть проблематичным, если преобразовать, как дубликаты ключей:
array('one'=>..,'two'=>..,'one'=>...)

Будьте осторожны, решение, предложенное с помощью $a = array_combine($a, $a); не будет работать для числовых значений.

Я, например, хотел иметь array(128,256,512,1024,2048,4096,8192,16384) памяти array(128,256,512,1024,2048,4096,8192,16384) как ключи, так и значения, но в руководстве PHP указано:

Если входные массивы имеют одинаковые строковые ключи, то более позднее значение для этого ключа перезапишет предыдущий. Если, однако, массивы содержат числовые клавиши, более поздняя величина не будет перезаписывать исходное значение, но будет добавлена.

Поэтому я решил это так:

 foreach($array as $key => $val) { $new_array[$val]=$val; }