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

如何将数组值转换为数组索引,而在Php中数组值保持不变,php,arrays,arraylist,associative-array,Php,Arrays,Arraylist,Associative Array,我有一个这样的数组 array( 0 => "bar", 1 => "foo", ); 我想要这样的输出 array( "bar" => "bar", "foo" => "foo", ); 如何实现这一点?假设原始数组严格为数字数组: 实际上也适用于非数字: array_combine($array, $array); 如果是非数字数组 以价值为核心的简单逻辑 $array1 = array( 0 => "bar", "cat" => "fo

我有一个这样的数组

array(
0 => "bar",
1 => "foo",
);
我想要这样的输出

array(
"bar" => "bar",
"foo" => "foo",
);
如何实现这一点?

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

实际上也适用于非数字:

array_combine($array, $array);

如果是非数字数组

以价值为核心的简单逻辑

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

var_dump($array1);
给予

若严格使用上面的答案,我猜会更快,代码也会更干净

给予 排列 ( [bar]=>bar [foo]=>foo )
array(2) {
  ["bar"]=>
  string(3) "bar"
  ["foo"]=>
  string(3) "foo"
}
$arr = array(
0 => "bar",
1 => "foo",
);

$arrCombine = array_combine($arr, $arr);

print_r($arrCombine);
gives Array ( [bar] => bar [foo] => foo )