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

Clu*_*oob 5 php memory arrays integer associative-array

PHP 数组的整数索引字符串索引有什么区别(当然后者被称为associative array)?

例如,以下两个数组有什么区别:

$intIndex[5] = "Hello";
$intIndex[6] = "World";
$intIndex[7] = "!";
Run Code Online (Sandbox Code Playgroud)

$strIndex['5'] = "Hello";
$strIndex['6'] = "World";
$strIndex['7'] = "!";
Run Code Online (Sandbox Code Playgroud)

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

Álv*_*lez 6

手册(强调我的):

键可以是整数或字符串。该值可以是任何类型。

此外,还将发生以下关键转换:

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

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

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