php 数组 key 的参数类型
php中对变量类型在很多情况下并不要求严格的类型定义和适配,而是在运算过程中按需尝试自行转换。
$a = 1 + '2' // $a = 3
2 == '2' //true
2 === '2' //false
这带来了一个问题, 作为数据的下标或说key,是否也区分变量类型。
先说结论:是。 看下面演示
$arr[] = '1st val';
$arr[2] = 'int';
$arr["key"] = 'value';
$arr['2'] = 'str';
var_dump($arr);
输出:
array (size=3)
0 => string '1st val' (length=7)
2 => string 'str' (length=3)
'key' => string 'value' (length=5)
$arr[2]
与 $arr['2']
指的是同一个变量,值被覆盖了。需要注意避免这种情况发生。
*只是为了过笔备忘,没有特别的主旨或价值单独成篇。
