在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
对它进行了测试,后者的值即使在数字键数组中也总是覆盖前者。