如何将数组值转换为数组索引,数组值在Php中保持不变


How to convert array value into array index with array values remain same in Php

我有一个类似的数组

array(
0 => "bar",
1 => "foo",
);

我想要像这个一样的输出

array(
"bar" => "bar",
"foo" => "foo",
);

我怎样才能做到这一点?

假设您的原始数组严格为数字数组:

实际上也适用于非数字:

array_combine($array, $array);

http://codepad.org/fxOmIh2D

$arr = array(
0 => "bar",
1 => "foo",
);
$arrCombine = array_combine($arr, $arr);
print_r($arrCombine);
给予大堆([bar]=>bar[foo]=>foo)

在非数字数组的情况下

使用价值作为关键工作的简单逻辑

$array1 = array(
   0 => "bar",
   "cat" => "foo",);
foreach($array1 as $key => $value)
{
    $array1[$value] = $value;
    unset($array1[$key]);
}
var_dump($array1);

给出

array(2) {
  ["bar"]=>
  string(3) "bar"
  ["foo"]=>
  string(3) "foo"
}

如果它严格使用上面的答案,我想会更快,也会清理代码。

http://codepad.org/x3Z1zLjz