PHP数组:整数索引VS字符串索引
问题描述:
有整数索引和PHP阵列字符串索引之间的任何差异(当然除了以下事实:将后者称为associative array
)?PHP数组:整数索引VS字符串索引
因此,例如,什么是以下两个阵列之间的差异:
$intIndex[5] = "Hello";
$intIndex[6] = "World";
$intIndex[7] = "!";
而且
$strIndex['5'] = "Hello";
$strIndex['6'] = "World";
$strIndex['7'] = "!";
在第一种情况下,会发生什么$intIndex[0]
到$intIndex[4]
?
答
从the manual(重点煤矿):
密钥可以是一个整数或字符串。该值可以是任何类型的 。
此外以下项铸件会发生:
- 含有有效整数字符串将被转换为整数类型。例如。键“8”实际上将被存储在8以下。另一个 手“08”将不会被转换,因为它不是有效的十进制整数。
- 浮点数也被转换为整数,这意味着小数部分将被截断。例如。密钥8.7将实际 下储存
8.
开始=>- [...]
那不是的事实,PHP阵列是稀疏相关的。
您可以使用var_dump()来验证所有这一切。
它给你一个'未定义的索引0/4' PHP警告。 – TiMESPLiNTER 2014-09-30 11:20:05
@TiMESPLiNTER你能否澄清为什么会出现这种错误?我认为在PHP中,不需要变量声明。 – CluelessNoob 2014-09-30 11:20:51
那么你没有在数组中输入'0'或'4'键。这是这个数组中未定义的索引。所以如果你使用'$ intIndex [0]',你会遇到'Undefined index' PHP警告。 – TiMESPLiNTER 2014-09-30 11:21:35