PHP 中的数组是有序映射。
映射是一种把键关联到值的数据结构。
数组用途广泛,可以当作线性数组(就像 C 或 Java 里的那样)、列表 [向量]、哈希表、字典、集合、栈或队列来使用。
键是可选的,但如果指定了,就必须是 int 或 string。
如果没有提供键,PHP 默认使用从 0 开始、依次递增的整数键。
$no_keys = ["my", "first", "array"];
$integer_keys = [0 => "my", 1 => "first", 2 => "array"];
$no_keys == $integer_keys // => equal returns true
$no_keys === $integer_keys // => strictly equal returns true
数组可以存储所有类型的值。 每个值的类型都可以不同。
$my_arr = [
1,
"second",
new \DateTimeImmutable()
];
数组可以声明为字面量(像上面那样直接写在代码里),也可以通过函数创建和操作。
$my_empty_arr = [];
// or
$my_empty_arr = array(); // => []
// or
$letters = mb_str_split("Hello"); // => ["H", "e", "l", "l", "o"]
使用下标运算符访问、赋值和追加值:
$prime_numbers = [2, 3, 5, 6];
$prime_numbers[3] = 7; // replace 6 with 7
$prime_numbers[] = 11; // array now contains [2, 3, 5, 7, 11]
使用 foreach 迭代数组:
$names = ["Ani", "Jack", "Rami"]
// Iterate just the values
foreach ($names as $name) {
echo $name;
}
// Iterate keys and values
foreach ($names as $index => $name) {
echo "$index => $name";
}