在PHP中,数组的键(也称为索引)可以是以下两种类型之一:
整数(Integer):
字符串(String):
自动类型转换:如果使用一个字符串键,但该字符串可以被解释为一个有效的整数(例如 "123"
),PHP会自动将其转换为整数类型。例如:
$array = [
"123" => "value1",
"456" => "value2"
];
// 这里的键 "123" 和 "456" 会被自动转换为整数 123 和 456。
浮点数键:虽然PHP允许使用浮点数作为键,但浮点数会被自动转换为整数。例如:
$array = [
1.5 => "value1",
2.9 => "value2"
];
// 这里的键 1.5 和 2.9 会被转换为整数 1 和 2。
布尔值键:布尔值 true
和 false
也会被转换为整数 1
和 0
。例如:
$array = [
true => "value1",
false => "value2"
];
// 这里的键 true 和 false 会被转换为整数 1 和 0。
NULL 键:如果使用 NULL
作为键,它会被转换为空字符串 ""
。例如:
$array = [
null => "value1"
];
// 这里的键 null 会被转换为空字符串 ""。
数组和对象键:数组和对象不能直接作为数组的键。如果尝试这样做,PHP会抛出一个警告,并将键转换为字符串 "Array"
或 "Object"
。
$array = [
0 => "zero", // 整数键
"one" => 1, // 字符串键
1.5 => "one point five", // 浮点数键,会被转换为整数 1
true => "true", // 布尔值键,会被转换为整数 1
null => "null" // NULL 键,会被转换为空字符串 ""
];
print_r($array);
输出:
Array
(
[0] => zero
[one] => 1
[1] => one point five
[] => null
)