创建一个键与值匹配的关联数组

Create an associative array where the keys match the values

最好的创建方式是什么:

[
    'foo' => 'foo',
    'bar' => 'bar',
]

来自这个数组:

[
    1 => 'foo',
    2 => 'bar',
]

我看过 array_maparray_walkarray_column,但我不知道这些函数中是否有任何一个能做到这一点?

使用array_combine。尝试以下操作:

$input_array = array( 
                      [1] => 'foo',
                      [2] => 'bar'
                    );

// use array_combine such that keys and values are same source
$expected_output = array_combine($input_array, $input_array);

你可以简单地使用 foreach:

$array = array(
     'foo',
     'bar'
);
$newArray = array();

foreach($array as $val)
{
    $newArray[$val] = $val;
}