在PHP中数组将值复制到键

在PHP中数组将值复制到键,php,arrays,Php,Arrays,我有这个阵列: $a = array('b', 'c', 'd'); 是否有一种简单的方法将数组转换为以下内容 $a = array('b' => 'b', 'c' => 'c', 'd' => 'd'); $final\u array=array\u combine($a,$a); 参考: p.S.小心包含重复密钥的源数组,如下所示: $a=['one','two','one']; 注意重复的一个元素。小心,使用$a=array\u combine($a,$a)提出的

我有这个阵列:

$a = array('b', 'c', 'd');
是否有一种简单的方法将数组转换为以下内容

$a = array('b' => 'b', 'c' => 'c', 'd' => 'd');
$final\u array=array\u combine($a,$a);
参考:

p.S.小心包含重复密钥的源数组,如下所示:

$a=['one','two','one'];

注意重复的
一个
元素。

小心,使用
$a=array\u combine($a,$a)提出的解决方案不适用于数值

例如,我希望有一个内存
数组(128256512102420484096819216384)
作为键和值,但PHP手册指出:

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,则后面的值将不会覆盖原始值,而是追加

所以我是这样解决的:

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

上述内容不正确-您的报价来自
array\u merge
的文档,而不是
array\u combine
;我甚至用
array\u combine
对它进行了测试,后者的值即使在数字键数组中也总是覆盖前者。