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

发布于 2024-11-26 11:53:32 字数 192 浏览 1 评论 0原文

我有这样的数组:

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

我需要将其转换为:

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

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

I have array like:

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

I need to convert it to:

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

What's the fastest way to swap keys with values?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

信仰 2024-12-03 11:53:32

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

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

该数组有键 0、1 和 2。

PHP has the array_flip function which exchanges all keys with their corresponding values, but you do not need it in your case because the arrays are the same.

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

This array has the keys 0, 1, and 2.

日裸衫吸 2024-12-03 11:53:32
array(
  0 => 'a',
  1 => 'b',
  2 => 'c'
);

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

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

否则,如果您需要将键与值交换 array_flip 就是解决方案,但从你的例子来看并不清楚你想要做什么。

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

and

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

are the same array, the second form has 0,1,2 as implicit keys. If your array does not have numeric keys you can use array_values function to get an array which has only the values (with numeric implicit keys).

Otherwise if you need to swap keys with values array_flip is the solution, but from your example is not clear what you're trying to do.

七月上 2024-12-03 11:53:32

使用 array_flip()。这样就可以将键与值交换。但是,您的数组保持原样就可以了。也就是说,您不需要交换它们,因为这样您的数组将变成

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

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

Use array_flip(). That will do to swap keys with values. However, your array is OK the way it is. That is, you don't need to swap them, because then your array will become:

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

not

array(
  'a',
  'b',
  'c'
);
天气好吗我好吗 2024-12-03 11:53:32

$flipped_arr = array_flip($arr); 将为您做到这一点。

(来源:http://php.net/manual/en/function.array-翻转.php)

$flipped_arr = array_flip($arr); will do that for you.

(source: http://php.net/manual/en/function.array-flip.php)

强者自强 2024-12-03 11:53:32

您需要使用 array_flip() 为此。

You'll want to use array_flip() for that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文