在循环中创建没有键的数组

时间:2011-04-21 22:15:42

标签: php arrays

这可能是一个大脑屁,因为现在已经很晚了,但我被困在这里。

我需要从选择框中获取$ _POST值。 (它是一个数组),并将其转换为一个没有任何键的简单数组。

这是项目中的print_r:

Array ( [0] => 19 [1] => 18 [2] => 21 )

问题是,我需要一个如下所示的数组:

Array(19,18,21)

每当我尝试通过表单字段foreach()时,我必须做这样的事情:

$row[] = $val;

但是这给了我一个数字索引。

我错过了什么?

感谢。

4 个答案:

答案 0 :(得分:18)

你没有没有钥匙的数组。

Array(19,18,21)

此数组具有键0,1和2。

答案 1 :(得分:9)

数组(在PHP中)始终具有(至少)数字索引。但是,您可以通过array_values()提取值。这仅返回给定数组的值。它当然有索引,但它们是连续的,它们是数字的。这是PHP中最简单的数组表示。

更新,只是为了说明一点:你不能在PHP中没有索引的数组(据我所知,在任何其他语言中完全相同),因为internaly数组总是哈希映射,而hashmaps总是需要一个键。 “最常见的关键”是指数。你不能省略“键”。在另一方面,我不知道为什么人们应该想要它。如果您不想使用密钥,请不要使用密钥,这就是全部。 PHP在这一点上非常温和。

答案 2 :(得分:1)

你最接近的是结合所以你的钥匙是你的价值

array_combine($array1,$array1) 

答案 3 :(得分:0)

您可以尝试 Array_column(数组的名称,然后是您要获取的位置)。 然后print_r(结果)