我有一个PHP数组。
array
0 => int 1
1 => int 13
2 => int 16
3 => int 17
4 => int 18
我想要的是一个像这样的新数组:
array(1, 13, 16, 17, 18)
即。这些值现在是新数组的键
我已尝试array_flip
,但我需要删除这些值。
我用Google搜索过,似乎没有任何相关内容。
如果有人能指出我正确的方向或提供更好的解决方案,我们将不胜感激。
编辑:
array_flip
返回:
array
1 => int 0
13 => int 1
16 => int 2
17 => int 3
18 => int 4
我想要的只是:array(1, 13, 16, 17, 18)
。
我理解这是错的吗?我想要的输出实际上是否在每个键上都有空值?
答案 0 :(得分:1)
您似乎无法理解数组的工作原理。每个包含至少一个值的数组总是有一个键和一个值。在这种情况下:
array(1, 13, 16, 17, 18)
值为1,13,16,...并且密钥由PHP隐式设置。在这种情况下,值1具有键0,值13具有键1,依此类推。
第一个和第二个数组之间的唯一区别是,在第一个数组中,您明确定义了键。简而言之,阵列是相同的。
答案 1 :(得分:-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];
}
如果你不是在寻找这个......我不明白你的问题