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');



Links



Tags

php php   arrays