2012-09-20 27 views
12

在其他编程语言中,数组的定义是可以容纳类似元素的东西。例如,如果我声明类似int i[]的东西,它将存储整数,但在PHP中,一个数组似乎将字符串和数字放在一起。PHP数组可以保存不同类型的项目吗?

将数字/整数作为PHP中这种类型的数组中的字符串处理?

+0

相关http://technosophos.com/content/php-arrays-are-not-arrays –

+1

为什么不给它一个镜头,让我们知道? :)(此外,看起来更像是一个SO问题,而不是P.SE问题) – haylem

回答

9

According to the PHP manual你的确可以存储异构类型PHP的“阵”内 - 向下滚动到例如3

注意的是,即使例如约为键是整数或字符串,在本例中指定的值也包括字符串和字符串,表明可以存储异构类型。

请注意,在不同类型的键的情况下,会涉及自动投射,因此您可能会遇到令人惊讶的结果。一个字符串包含有效的十进制表示。

+1

你是对的,但问题是关于存储不同类型的值,而不是键。不知道为什么这是downvoted。 – phant0m

+0

@ phant0m - 我完全错过了这个例子的标题,我正在看那个例子的右边。答复澄清,谢谢。 –

2

在PHP数组中甚至不是数组,它们是有序的哈希表。

+0

有序的哈希表是关联数组,因此PHP数组_are_数组。不知道数组的定义是什么,但数组只能容纳相同类型的项的限制是语言限制,而不是概念限制。 – yannis

+3

@YannisRizos我建议你阅读这篇文章,看看为什么人们不认为PHP数组为真实数组http://technosophos.com/content/php-arrays-are-not-arrays它不仅是关于类型,它也是关于排序(不存在于PHP中) –

+0

不是数组的一种数据结构,其中所有值的大小相同,并且在内存中一个接一个地排序?你引用的内容听起来像是字典/地图。我所知道的唯一的事情是,关联数组与真实数组具有共同之处,这是名称的一部分。 –

0

你可以在数组中存储任何你想要的东西。

在PHP的这种类型的数组中将数字/整数视为字符串?

无法存储它。但是,当您使用这样的值时,PHP 转换它。价值的使用决定了它的解释。 (注意,密钥在存储时转换,但是,如果它被认为是数字的话)

1

不会把油放在PHP阵列的火上,这里没有数组...... 但是,可以将不同的变量类型字符串,int,...)一起放在一个名为Array的PHP中。

相关问题