0

我有一个 PHP 数组。

array
  0 => int 1
  1 => int 13
  2 => int 16
  3 => int 17
  4 => int 18

我想要返回的是一个像这样的新数组:

array(1, 13, 16, 17, 18)

IE。这些值现在是新数组的键

我试过array_flip了,但我需要删除这些值。我用谷歌搜索了一下,似乎没有任何相关的东西。

如果有人能指出我正确的方向或提供更好的解决方案,将不胜感激。

编辑:

array_flip返回:

array
  1 => int 0
  13 => int 1
  16 => int 2
  17 => int 3
  18 => int 4

我想要的只是:array(1, 13, 16, 17, 18)

我理解错了吗?我想要的输出实际上在每个键上都有空值吗?

4

2 回答 2

1

你似乎不明白数组是如何工作的。每个包含至少一个值的数组总是有一个键和一个值。在这种情况下:

array(1, 13, 16, 17, 18)

值是 1,13,16,... 并且键是由 PHP 隐式设置的。在这种情况下,值 1 具有键 0,值 13 具有键 1,依此类推。

第一个数组和第二个数组之间的唯一区别是,在第一个数组中,您明确定义了键。简而言之,数组是相同的。

于 2012-05-11T08:13:35.197 回答
-2

你可以做一个关联数组:

$hello_im_the_new_array=Array();
foreach $array_with_keys as $im_a_key_to_other_array {
         $hello_im_the_new_array[$im_a_key_to_other_array]=$im_the_content_of_that_key_in_the_new_array
}

或者如果您正在寻找读取其他数组的值:

foreach $array_with_keys as $im_a_key_to_other_array {
    echo $the_array_with_values[$im_a_key_to_other_array];
}

如果你不是在寻找这个......我不明白你的问题

于 2012-05-11T08:22:36.057 回答