Массив, копировать значения ключей в PHP [дубликат]
этот вопрос уже есть ответ здесь:
у меня есть этот массив:
$a = array('b', 'c', 'd');
есть ли простой способ преобразовать массив следующим?
$a = array('b' => 'b', 'c' => 'c', 'd' => 'd');
2 ответов:
$final_array = array_combine($a, $a);П. С.
* будьте осторожны с подобными ценностями. Например:array('one','two','one')может быть проблематично при преобразовании, как дубликаты ключей:array('one'=>..,'two'=>..,'one'=>...)
будьте осторожны, решение, предложенное с
$a = array_combine($a, $a);не будет работать для числовых значений.Я например хотел иметь чтобы быть ключами, а также значениями, однако руководство PHP заявляет:
Если входные массивы имеют одинаковые строковые ключи, то позже значение этого ключа будет перезаписывать предыдущий. Однако, если массивы содержат числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет приложенный.
поэтому я решил это так:
foreach($array as $key => $val) { $new_array[$val]=$val; }
Comments