数组将值复制到 PHP 中的键

我有这个数组:

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

是否有一个简单的方法将数组转换为以下内容?

$a = array('b' => 'b', 'c' => 'c', 'd' => 'd');
123543 次浏览
$final_array = array_combine($a, $a);

参考资料: http://php.net/array-combine

小心包含如下重复键的源数组:

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

注意重复的 one元素。

请注意,使用 $a = array_combine($a, $a);提出的解决方案不适用于数值。

例如,我希望有一个内存 array(128,256,512,1024,2048,4096,8192,16384)作为键和值,然而 PHP 手册规定:

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

所以我就这么解决了:

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