0

我有一个数组:

$ids = array(1 => '3010', 2 => '10485', 3 => '5291');

我想创建一个新数组,它采用 $ids 数组的值并将它们设置为具有相同值的新数组的键。

最终的数组将是:

$final = array('3010' => 'Green', '10485' => 'Green', '5291' => 'Green');

这将在 apc_add() 中使用。

我知道我可以通过循环来实现这一点。

$final = array();

foreach($ids as $key => $value):
  $final[$value] = 'Green';
endforeach;

但我想知道是否有 php 函数可以做到这一点而不必使用 forloop,谢谢!

4

2 回答 2

5

您正在寻找array_fill_keys.

$final = array_fill_keys($ids, "Green");

但是,请注意,作为整数的十进制表示的字符串在用作数组键时实际上会转换为整数。这意味着在您的示例中,最终作为键的数字$final将被转换为整数。很可能不会在实践中产生影响,但你应该知道这一点。

于 2013-06-03T19:30:10.337 回答
3

你可以这样做array_fill_keys

$final = array_fill_keys($ids, "Green");
于 2013-06-03T19:31:35.240 回答