Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组:整数索引与字符串索引_Php_Arrays_Memory_Integer_Associative Array - Fatal编程技术网

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

PHP数组:整数索引与字符串索引,php,arrays,memory,integer,associative-array,Php,Arrays,Memory,Integer,Associative Array,PHP数组的整数索引和字符串索引之间有什么区别吗(当然,除了后者被称为关联数组) 例如,以下两个数组之间有什么区别: $intIndex[5] = "Hello"; $intIndex[6] = "World"; $intIndex[7] = "!"; 及 在第一种情况下,$intIndex[0]到$intIndex[4]?来自(强调矿): 键可以是整数或字符串。该值可以是任意值 类型 此外,将执行以下键的强制转换: 包含有效整数的字符串将强制转换为整数类型。例如,键“8”实际上将存储在8下

PHP数组的整数索引字符串索引之间有什么区别吗(当然,除了后者被称为
关联数组

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

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

在第一种情况下,
$intIndex[0]
$intIndex[4]

来自(强调矿):

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

此外,将执行以下键的强制转换:

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


您可以用来验证所有这些。

它会给您一个
未定义索引0/4
PHP警告。@TiMESPLiNTER您能解释一下为什么它会出现这个错误吗?我认为在PHP中,不需要变量声明。在数组中没有键为
0
4
的条目。它是此数组中未定义的索引。因此,如果您使用
$intIndex[0]
您将遇到
未定义索引
PHP警告。@TiMESPLiNTER正常,那么内存是否未分配?我的意思是,即使我直接使用$arr[1000],前999个索引也不会被浪费?是的,内存是未分配的。因为那些索引不存在。但只要给数组索引一个值,就可以“自动”分配它。所以
$intIndex[0]=“foo”将为此特定索引分配内存。
$strIndex['5'] = "Hello";
$strIndex['6'] = "World";
$strIndex['7'] = "!";