PHP数组:整数索引与字符串索引


PHP array: integer index vs string index

PHP数组的整数索引字符串索引

例如,以下两个阵列之间有什么区别:

$intIndex[5] = "Hello";
$intIndex[6] = "World";
$intIndex[7] = "!";

$strIndex['5'] = "Hello";
$strIndex['6'] = "World";
$strIndex['7'] = "!";

在第一种情况下,$intIndex[0]$intIndex[4]会发生什么?

来自手册(强调矿):

键可以是整数,也可以是字符串。该值可以是任意值类型

此外,还将发生以下关键的强制转换

  • 包含有效整数的字符串将强制转换为整数类型。例如,密钥"8"实际上将存储在8下。另一方面手"08"将不会被强制转换,因为它不是有效的十进制整数
  • 浮点值也被强制转换为整数,这意味着小数部分将被截断。例如,密钥8.7将实际存储在
      8.
  • […]

这与PHP数组稀疏这一事实无关。

您可以使用var_dump()验证所有这些。