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


Answers

Будьте осторожны, решение, предложенное с помощью $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;
}
Question

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

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

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

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