如何用数组中的值交换键?

时间:2011-07-27 13:23:33

标签: php arrays key swap

我的数组如下:

array(
  0 => 'a',
  1 => 'b',
  2 => 'c'
);

我需要将其转换为:

array(
  'a',
  'b',
  'c'
);

用键交换键的最快方法是什么?

6 个答案:

答案 0 :(得分:25)

PHP具有array_flip函数,它将所有键与其对应的值进行交换,但在您的情况下您不需要它,因为数组是相同的。

array(
  'a',
  'b',
  'c'
);

此数组的键为0,1和2.

答案 1 :(得分:4)

使用array_flip()。这将使键与值交换。但是,您的阵列就是这样。也就是说,您不需要交换它们,因为那样您的数组将变为:

array(
  'a' => 0,
  'b' => 1,
  'c' => 2
);

array(
  'a',
  'b',
  'c'
);

答案 2 :(得分:3)

array(
  0 => 'a',
  1 => 'b',
  2 => 'c'
);

array(
  'a',
  'b',
  'c'
);

是相同的数组,第二种形式有0,1,2作为隐式键。如果您的数组没有数字键,则可以使用array_values函数来获取仅具有值的数组(使用数字隐式键)。

否则,如果您需要使用值array_flip来交换密钥是解决方案,但是从您的示例中不清楚您要执行的操作。

答案 3 :(得分:2)

请参阅:array_flip

答案 4 :(得分:2)

$flipped_arr = array_flip($arr);会为你做到这一点。

(来源:http://php.net/manual/en/function.array-flip.php

答案 5 :(得分:2)

您需要使用array_flip()