我有一个类似这样的数组:
array(
0 => 'a',
1 => 'b',
2 => 'c'
);
我需要将它转换为:array(
'a',
'b',
'c'
);
最快的交换键和值的方法是什么?
array_flip()
函数将键和值交换即可。不过,你的数组已经可以正常使用了。也就是说,你并不需要交换它们,否则你的数组将变成:array(
'a' => 0,
'b' => 1,
'c' => 2
);
不是
array(
'a',
'b',
'c'
);
array(
0 => 'a',
1 => 'b',
2 => 'c'
);
并且
array(
'a',
'b',
'c'
);
这两种形式其实是同一数组,第二种形式有0、1、2作为隐式键。如果你的数组没有数值键,可以使用array_values函数获取一个仅包含值(带有数值隐式键)的数组。
否则,如果你需要交换键和值,则array_flip是解决方案,但从你的示例中不清楚你想要做什么。
$flipped_arr = array_flip($arr);
会为您完成这项工作。