php数组中的key可以使int或者string类型,value可以是任意类型。

1.key的强制转换:

  • 包含合法十进制整型值的字符串会被转换为整型

  • 浮点型、布尔型也会转换为整型

  • null会被转换为空字符串

$array = [1=>'a',"1"=>"b",1.5=>"c",true=>'d'];
var_dump($array);

1,"1",1.5,true 都会转换为1 ,相同key 后者覆盖前者,输出结果:

array (size=1)
  1 => string 'd' (length=1)

2.key为可选项,如果未指定,PHP将自动使用之前用过的最大int键名加1作为新的键名,最大整数键名不一定存在于当前数组,只要在上次数组重新生成索引后曾经存在过就行。

// 创建一个简单的数组
$array = array(1, 2, 3, 4, 5);
print_r($array);

// 现在删除其中的所有元素,但保持数组本身不变:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)
$array[] = 6;
print_r($array);

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Donne
694 声望25 粉丝

知其然,知其所以然。


引用和评论

0 条评论