Массив, копировать значения ключей в PHP [дубликат]



этот вопрос уже есть ответ здесь:



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



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


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



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

2 ответов:

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

http://php.net/array-combine

П. С.

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

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

Я например хотел иметь чтобы быть ключами, а также значениями, однако руководство PHP заявляет:

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

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

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

Comments

    Ничего не найдено.